Linux
OpenVPN 客戶端設置
我一直在關注本教程—— 如何在 Ubuntu 15.04 上配置 OpenVPN 伺服器客戶端——在我的 Ubuntu 15.04 VM 上設置 OpenVPN。我一直遵循它,並且有點卡在客戶端配置文件中。
這是範例中給出的 client.conf 文件:
dev tun proto udp # IP and Port of remote host with OpenVPN server remote 111.222.333.444 1194 resolv-retry infinite ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/client.crt key /etc/openvpn/keys/client.key tls-client tls-auth /etc/openvpn/keys/ta.key 1 auth SHA1 cipher BF-CBC remote-cert-tls server comp-lzo persist-key persist-tun status openvpn-status.log log /var/log/openvpn.log verb 3 mute 20
所以我猜測遠端 IP 將是我伺服器的公共 IP,我需要在我的路由器上轉發埠 1194。但是,我在 conf 文件中定義 ca、cert 和 key 的位置,如果我在 Android 設備上使用它,我是否需要更改路徑以反映這些文件在 Android 設備上的位置,或者給出的範例是否正確?
我將使用 OpenVPN 客戶端生成要在 Android 和 iOS 設備上使用的客戶端密鑰。這也適用於Windows嗎?
在 android 和 iphone 上作為客戶端安裝證書、vpn 配置文件等時,您無需擔心配置文件中的位置,應用程序會處理它。例如,在 Windows 上,它有點不同,在 macOS 上,使用 tunnelblick,只需將文件放入 tunnelblick,它就會處理路徑。
希望有幫助。
配置文件中證書的位置必須反映它們在客戶端中的安裝位置。在我的情況下,證書已經嵌入到客戶端配置文件中:
client dev tun proto udp remote myserver.ddns.com 443 float comp-lzo adaptive keepalive 15 60 auth-user-pass ns-cert-type server <ca> -----BEGIN CERTIFICATE----- ...HERE I HAVE A FEW LINES OF SYMBOLS REPRESENTING MY CERTIFICATE... -----END CERTIFICATE----- </ca> resolv-retry infinite nobind
一些熱點會阻塞大多數埠,但埠 443 將在所有地方都開放。這就是為什麼我傾向於使用它,從任何地方訪問我的家庭雲。
最後,我仍然必須為我家區域網路中的某些設備(主要是樹莓派)添加一個永久靜態路由,以便能夠從外部通過 VPN 訪問它們。必須將此行添加到
/etc/network/interfaces
:up route add 10.8.0.0/24 via 192.168.1.1 dev eth0