Linux

在 Ubuntu 10.04 上使用 OpenVPN 連接到 VPN

  • August 3, 2011

我正在嘗試通過 Ubuntu 10.04 上的 OpenVPN 連接到 VPN。

我首先嘗試了 network-manager-openvpn 包,但不幸的是,網路管理器似乎有一些錯誤阻止我開箱即用地連接。但是,我發現一篇文章解釋了使用 openvpn 命令行的解決方法:

sudo /usr/sbin/openvpn --remote 123.456.678.901 --comp-lzo --nobind --dev tun --proto udp --port 1194 --auth-nocache --syslog nm-openvpn --script-security 2 --up /usr/lib/network-manager-openvpn/nm-openvpn-service-openvpn-helper --up-restart --persist-key --persist-tun --route-noexec --client --ca ca.crt --cert myuser.crt --key myuser.key

我的日誌似乎顯示命令執行沒有錯誤:

Nov 28 23:27:22 localhost NetworkManager: <debug> [1291004842.002903] periodic_update(): Roamed from BSSID 01:28:31:A4:B5:A9 (Local Network) to (none) ((none))
Nov 28 23:27:28 localhost NetworkManager: <debug> [1291004848.002931] periodic_update(): Roamed from BSSID (none) ((none)) to 01:28:31:A4:B5:A9 (Local Network)
Nov 28 23:27:33 localhost NetworkManager:    SCPlugin-Ifupdown: devices removed (path: /sys/devices/virtual/net/tun0, iface: tun0)
Nov 28 23:27:41 localhost nm-openvpn[18917]: OpenVPN 2.1.0 x86_64-pc-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [MH] [PF_INET6] [eurephia] built on Jul 20 2010
Nov 28 23:27:41 localhost nm-openvpn[18917]: WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Nov 28 23:27:41 localhost nm-openvpn[18917]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
Nov 28 23:27:48 localhost nm-openvpn[18917]: /usr/bin/openssl-vulnkey -q -b 1024 -m <modulus omitted>
Nov 28 23:27:49 localhost nm-openvpn[18917]: LZO compression initialized
Nov 28 23:27:49 localhost nm-openvpn[18917]: UDPv4 link local: [undef]
Nov 28 23:27:49 localhost nm-openvpn[18917]: UDPv4 link remote: [AF_INET]123.456.678.901:1194
Nov 28 23:27:50 localhost nm-openvpn[18917]: [server] Peer Connection Initiated with [AF_INET]123.456.678.901:1194
Nov 28 23:27:52 localhost nm-openvpn[18917]: TUN/TAP device tun0 opened
Nov 28 23:27:52 localhost NetworkManager:    SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/tun0, iface: tun0)
Nov 28 23:27:52 localhost NetworkManager:    SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/tun0, iface: tun0): no ifupdown configuration found.
Nov 28 23:27:52 localhost nm-openvpn[18917]: /sbin/ifconfig tun0 10.8.0.28 pointopoint 10.8.0.27 mtu 1500
Nov 28 23:27:52 localhost nm-openvpn[18917]: /usr/lib/network-manager-openvpn/nm-openvpn-service-openvpn-helper tun0 1500 1542 10.8.0.28 10.8.0.27 init
Nov 28 23:27:52 localhost nm-openvpn[18917]: Initialization Sequence Completed

但是,當我嘗試在 VPN 中調出 URL(例如 wiki.myvpn.com)時,我收到“未找到伺服器”錯誤。

我的命令實際上是失敗的,還是我必須執行其他命令才能使我可以訪問特定於 VPN 的 URL?

編輯:問題似乎是網路管理器沒有正確更新 /etc/resolv.conf 。報告了一些相關的 錯誤,儘管據稱幾年前已修復,但問題顯然仍然存在。我發現如果我將以下幾行添加到我的 /etc/resolv.conf 的 TOP(不是底部,否則它將不起作用),那麼 openvpn 實際上可以工作:

domain mydomain.com
search mydomain.com
nameserver 10.123.10.128

知道如何讓網路管理器正確更新 resolv.conf 嗎?

聽起來您可能沒有將“wiki.myvpn.com”解析為該主機的內部 IP 地址。您是否嘗試過使用託管該 wiki 的主機的 IP 地址來查看是否可以打開該頁面?如果是這樣,您需要讓您的 OpenVPN 伺服器使用 server.conf 選項傳遞 DNS 資訊,例如:

推送“dhcp-option DNS 192.168.99.99”
推送“dhcp-option DOMAIN myvpn.com”

如果您的內部網路上沒有 DNS 伺服器,您可以通過將內部主機添加到外部 Ubuntu 電腦上的 /etc/hosts 來繞過它。

引用自:https://serverfault.com/questions/206855