近段時間,花了不少時間在配置openvpn。花了不少時間才解決資源共用訪問,用戶端通過伺服器端上外網問量。
一翻辛苦之下總算成功了。現在把大概過程記下來,作為筆記
1 windows版openvpn安裝。下載對應系統版本直接安裝就好。另外,要安裝openssl,建議直接下載winopenssl安裝就好
注意:伺服器端要全部勾選。否則無法建立認證。
2 建立認證
2.1 伺服器上,開啟安裝目錄下 easy-rsa,先修改vars-bat-sample,把內容修改一下。
注意,common name ,其它自己喜歡就好。
2.2 運行命令列(注意管理員權限)
init-config
vars
clean-all
2.3 建立ca: build-ca,得到ca,crt,ca.key兩信公檔案。其中,ca.crt是公用檔案,伺服器與用戶端都要用。
2.4 建立服務端認證:build-key-server server(伺服器憑證檔案名稱),得到3個檔案:server.crt,server.key,server.csr。
2.5 建立用戶端認證:build-key client(用戶端認證檔案名稱),得到3個檔案:client.crt,client.key,client.csr。
注意:不同用戶端認證在產生,注意區別common 欄位。
2.6 建立迪非-赫爾曼交換密碼:build-dh,這個是可選的。產生時間大概要十多分鐘。得到1個檔案:dh4096.pem(不同版本檔案名稱可能不同)
2.7 開啟tls-auth,可選,非必要
open 一一genkey 一一secret keys/ta.key
得到1個檔案:ta.key。
2.8 如需要再次建立新使用者,命令列執行 vars,再直接 build-key (新使用者檔案名稱 ) 即可。
3 配置運行
3.1 伺服器端:
在openvpn/easy-rsa/keys/下複製:ca.crt ,server.crt,server.key,dh4096.pem,ta.key
在openvpn/sample-config 目錄下複製server.ovpn到openvpn/config目錄下,再用文字編輯器開啟。內容修改後如下:
port: 1194
proto udp
dev tun #註:經測試,在window系統中,想要通過伺服器上網,tap/tun都可以。沒有問題。不是傳說中非要tap不可。
ca ca.crt
cert server.crt
key server.key
dh dh4096.pem
server 10.8.0.0 255.255.255.0
push "route 0.0.0.0 0.0.0.0" #推網關。在window系統中,想要通過伺服器上網,最好加上
ifconfig-pool-persit ipp.txt #此處注意:服務端運行時要注意許可權,非管理員權限可能無法寫入預設安裝目錄 C盤,運行時會提示出錯。
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-options DNS 202...." #推DNS。在window系統中,想要通過伺服器上網,最好加上
push "dhcp-options DNS 202..." #在window系統中,想要通過伺服器上網,最好加上
keep alive 10 200
tls-auth ta.key 0 #這個如果剛才不產生ta.key,可以不要。
cipher AES-256-CBC #預設加密方式,可能不同版本不同
com-lzo
persists-key
persists-tun
status server-log #這個是簡單日誌,直接寫在此目錄,出錯時方便開啟查看
verb 3
;explice-exit-notify 1 #可選,xp系統不支援
3.2 用戶端
client
port: 1194
proto udp
dev tun #註:經測試,在window系統中,想要通過伺服器上網,tap/tun都可以。沒有問題。不是傳說中非要tap不可。
remote 伺服器IP 連接埠(1194)
resolv-retry infinite
nobind
persists-key
persists-tun
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
tls-auth ta.key 1 #這個如果剛才不產生ta.key,可以不要。用戶端規定是1。
cipher AES-256-CBC #預設加密方式,可能不同版本不同
com-lzo
status client-log #這個是簡單日誌,直接寫在此目錄,出錯時方便開啟查看
verb 3
4 重點:用戶端要訪問伺服器端所在網路資源,一定要啟用伺服器端物理網卡上的Internet串連共用。。。。。
在伺服器端物理網卡屬性上,開啟Internet串連共用:允許其它網路使用者通過此電腦的Internet串連來串連。
這樣才能訪問伺服器端共用資源。。。如果還不行,就推網關。。。。
如果要通過伺服器端上外網,最好連DNS一起推。。。。這三樣做齊,伺服器內網必通。外網大部分情況可通。
如果還不通,伺服器端如果是server系統,直接加裝NAT服務。
本文純原創,全手工輸入。轉載請不要改動。