我是 Witopia 的客户;他们提供 VPN 服务。对于客户,他们授权了一份 Viscosity 副本,它是 openVPN 的 GUI 前端。在过去的几天里,我注意到,如果 Viscosity 无法连接,就会发生网络连接被劫持的情况;我无法 ping 通、无法连接到任何网站、无法连接到 DNS……我什么也做不了。
以下是控制台中发生的事情的片段:
10/5/10 9:21:45 PM openvpn[600] Connection reset, restarting [0]
10/5/10 9:21:45 PM openvpn[600] /Applications/Internet-Network/Viscosity.app/Contents/Resources/dnsdown.py tun0 1500 1544 10.244.0.110 10.244.0.109 restart
10/5/10 9:21:45 PM openvpn[600] SIGUSR1[soft,connection-reset] received, process restarting
10/5/10 9:21:45 PM openvpn[600] NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
10/5/10 9:21:45 PM openvpn[600] NOTE: --fast-io is disabled since we are not using UDP
10/5/10 9:21:45 PM openvpn[600] Re-using SSL/TLS context
10/5/10 9:21:45 PM openvpn[600] LZO compression initialized
10/5/10 9:21:45 PM mDNSResponder[16] NOTE: Wide-Area Service Discovery disabled to avoid crashing defective DNS relay 192.168.1.1:53
10/5/10 9:22:31 PM kernel dlil_output: output error retval = 37
10/5/10 9:22:34 PM kernel dlil_output: output error retval = 37
10/5/10 9:22:34 PM mDNSResponder[16] mDNSPlatformSendUDP sendto failed to send packet on InterfaceID 00000000 unicast/4 to 208.67.220.123:53 skt 15 error -1 errno 55 (No buffer space available) 1364468745
10/5/10 9:22:34 PM kernel dlil_output: output error retval = 37
10/5/10 9:22:34 PM kernel dlil_output: output error retval = 37
10/5/10 9:22:35 PM kernel dlil_output: output error retval = 37
10/5/10 9:22:35 PM openvpn[600] RESOLVE: Cannot resolve host address: tlsvpn.iad.witopia.net: [HOST_NOT_FOUND] The specified host is unknown.
10/5/10 9:22:35 PM kernel dlil_output: output error retval = 37
10/5/10 9:22:35 PM kernel dlil_output: output error retval = 37
10/5/10 9:22:35 PM kernel dlil_output: output error retval = 37
10/5/10 9:22:35 PM openvpn[600] RESOLVE: Cannot resolve host address: tlsvpn.iad.witopia.net: [HOST_NOT_FOUND] The specified host is unknown.
10/5/10 9:22:35 PM kernel dlil_output: output error retval = 37
如果我执行 ping 操作,它会告诉我有以下消息:
ping: sendto: No buffer space available
我必须重新启动才能恢复网络连接。有人知道如何解决这个问题吗?
我正在运行 MacBook Intel Core Duo 1.83 GHz、MacOS X 10.5.8、Viscosity 1.0.9。升级 Viscosit 导致我无法访问 Witopia 服务器(我不知道为什么,但我知道确实如此!)
答案1
问题似乎与 Viscosity 手动重写 resolv.conf 文件的方式有关。网络连接实际上是活动的,但断开 VPN 连接后就没有 resolv.conf 文件了,因此无法解析名称。
如果在关闭 VPN 后出现此问题,请打开“网络”系统偏好设置面板,更改任何内容(我删除了逗号和 DNS 服务器 IP 地址之间的空格),然后撤消更改(我放回了空格)。之后,单击“应用”,计算机将再次神奇地写出 resolv.conf 文件……瞧。解决了。
答案2
openvpn 不知怎么地劫持了我的网络连接:我无法获得任何 DNS 解析,也无法连接。为了避免重新启动,我的解决方案是终止 openvpn。打开活动监视器并过滤 openvpn 进程。终止它。现在我又可以访问网络了。我希望这对遇到此问题的任何人都有帮助。我见过几个地方,人们指出他们唯一能做的就是重新启动。
答案3
为了我们更好地为您提供帮助,请收集更多信息以供我们分析。
请打开终端并发布以下命令的输出:
$ netstat -rn
$ ifconfig -a
这将为我们提供路由和接口配置。
另外,由于您提到 Viscosity 是 OpenVPN 的前端 GUI,所以它必须使用 OpenVPN 配置文件/密钥/证书/等。
请在您的计算机上找到 .ovpn 客户端配置文件并将其发布到这里。客户端配置文件内容应如下所示:
client
dev tun
proto udp
remote remote-server 1195*
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert server.crt
key server.key
ns-cert-type server
tls-auth ta.key 1
comp-lzo
verb 3
*为了不泄露服务器位置的隐私,请隐藏此行