openvpn
vpn
建立一個OpenVPN服務,讓使用者可以利用他當作跳板上網。簡單說就是用來翻牆啦。因為只是翻牆而已,所以沒有額外加強安全性。如有需要,請自行參考文末的參考文件。
注意,每個參考網頁上的操作步驟順序都有些微不一樣,建議先完整看完之後在進行操作,以免混亂。(沒錯我就是搞混了一下子 囧a)
註:本文所有指令皆是在root權限下執行。
複製server.conf
編輯server.conf
執行make-cadir
產生存放認證金鑰的目錄,並切換過去,在裡面建立openssl-1.0.0的連結。
這個指令是安裝easy-rsa後會出現的指令。easy-rsa是一個用來產生CA認證的工具,屬於OpenVPN專案之一。
編輯/etc/openvpn/easy-rsa/vars
基本上就依照實際狀況設定,這樣之後要新增server/client的金鑰共同部份就可以直接用預設值,不須重複輸入。
初始化/etc/openvpn/easy-rsa/
環境
在執行這段時,系統會出現警告,說明執行這個指令會把原先放在/etc/openvpn/easy-rsa/keys/
的資料給清掉。就清掉吧。
執行/bulid-dh
會需要一段時間,一些網頁上會用openssl
來建立,此文件統一都用easy-rsa
處理金鑰相關訊息。
基本上都按照剛剛建立的預測值,再依照自己需求做增減。
以上建立的金鑰檔,路徑位置要跟server.conf裡的設定要一樣。
每一個client都有自己的金鑰,基本上OpenVPN預設值是一組金鑰在同一時間內,只允許一個連線,就像BBS一樣。
建立一個名為client1的一組金鑰
其他client端金鑰依此類推。
如果需要刪除client端金鑰
這樣一來,client2這組金鑰就無法使用了。
啟用後,可以用netstat -tulnp | grep 1194
看1194 port有無listen,或是ifconfig
看有沒有OpenVPN建立的網路界面:tunXXX
使用VPN服務需要啟動以下功能:
設定IP forwarding
可以下以下指令看有無生效:sysctl -a
或sysctl -p
安裝Iptables-persistent並先啟用
先啟用的原因:如果先把設定檔寫好再啟動,如果選項沒選好,Iptables-persistent會把原先寫好的設定給洗掉。
設定相關防火牆規則
nat部份是設定NAT功能,這樣才有辦法再從OpenVPN server連到網際網路。
filter部份就是允許OpenVPN相關封包連線。tun+
是OpenVPN server產生的網路界面。ens160
是server上的網卡名稱,請按照實際機器名稱做相對硬的修改。
重啟Iptables-persistent
註:以上設定是針對OpenVPN設置,實際狀況還要加上其他設定,例如允許SSH,阻擋ICMP,等等。
下以下指令可以檢查規則有無生效:iptables-save
以上設定完後可以重啟機器,之後就可以就可準備client的部份。
以上已經建立名為client1
的金鑰,現在就要把這金鑰打包給client端。
client上會需要的檔案。
從預設檔複製出client1.ovpn
以上只列出需要修改的部份,其餘自己再研究吧。基本上就是增加安全性的設置。
打包檔案
這個就把這個壓縮檔送到client端
安裝OpenVPN並解壓縮檔案
啟動連線
如果沒有錯誤訊息,就表示設定成功了。嘿嘿嘿可以進DMM…玩Kancolle啦!
基本上都是參考這個文件。另外這篇還有說明一些更安全的設定。
https://medium.com/linode-cube/set-up-openvpn-on-ubuntu-16-04-for-safetys-sake-d73b7ec7e465
./build-dh
參考網頁
https://www.linode.com/docs/networking/vpn/secure-communications-with-openvpn-on-ubuntu-12-04-precise-and-debian-7/
./build-key-pass
參考網頁
https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-16-04
官方文件,還有怎麼刪除client的key。
https://openvpn.net/index.php/open-source/documentation/howto.html#revoke
防火牆設定參考
https://arashmilani.com/post?id=53
Client(Linux)連線方式說明
https://blog.longwin.com.tw/2010/11/ubunut-vpn-openvpn-set-2010/