Linux

OpenVPN 客戶端設置

  • May 4, 2020

我一直在關注本教程—— 如何在 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

引用自:https://unix.stackexchange.com/questions/270948