我正在尝试通过 Ubuntu 10.04 上的 OpenVPN 连接到 VPN。
我首先尝试了 network-manager-openvpn 软件包,但不幸的是,Network Manager 似乎有一些错误,导致我无法开箱即用。不过,我发现了一个邮政解释了使用 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 的顶部(不是底部,否则它将不起作用),那么 openvpn 实际上可以正常工作:
domain mydomain.com
search mydomain.com
nameserver 10.123.10.128
知道如何让网络管理器正确更新 resolv.conf 吗?
答案1
听起来您可能没有将“wiki.myvpn.com”解析为该主机的内部 IP 地址。您是否尝试过查看是否可以使用该 wiki 主机的 IP 地址打开该页面?如果可以,您需要让您的 OpenVPN 服务器使用 server.conf 选项传递 DNS 信息,例如:
推“dhcp 选项 DNS 192.168.99.99” 推送“dhcp-option DOMAIN myvpn.com”
如果您的内部网络上没有 DNS 服务器,您可以通过将内部主机添加到外部 Ubuntu 计算机上的 /etc/hosts 来解决这个问题。