从 Windows 客户端 ping Debian VPN 服务器

从 Windows 客户端 ping Debian VPN 服务器

设想:

我的 Debian 服务器(它是一个虚拟服务器,因此我可以访问/修改的内容有一些限制)和 Windows 7/8 以及 OS X Lion/Mountain Lion 客户端上有一个正常运行的 openVPN 连接。客户端无法也不应该看到/ping 对方,但是它们当然应该能够访问服务器。每个客户端都会从服务器获得一个在定义的 10.240.43.x 范围内分配的 IP 地址(服务器 VPN IP 地址显然是 10.240.43.1),并且连接时没有错误(根据 openVPN 日志),但只有 OS X Mountain Lion 客户端能够 ping 服务器并使用其上安装的服务(例如 phpmyadmin)。Windows 客户端连接并获取 IP,但没有一个(目前有 5 个)可以 ping 服务器。*我每次都会收到“Ping 请求超时”的信息。

尝试:

  1. 向防火墙添加规则以允许 ICMPv4 流量,从而启用发送和接收的 ping 请求
  2. 将 tun-interface 从私人配置文件和域的防火墙中排除(在防火墙设置下)- 没有任何改变
  3. 完全禁用防火墙-没有任何改变
  4. 将“路由 10.240.43.1 255.255.255.0”推送到客户端(在 server.conf 中)- 没有任何变化
  5. 将“redirect-gateway def1”推送到客户端(在 server.conf 中)- 没有任何变化
  6. 添加了虚拟默认网关来解决 Windows“未识别网络”问题(请参阅下面的 client.conf),并能够将 VPN 网络设置为“私有网络” - 有效,但未能解决“ping 问题”
  7. 将路由表与正常工作的 OS X 客户端路由表进行了比较 - 未发现任何差异

* 一个客户端(安装在 Macbook 上的 Windows 7 bootcamp)能够在一个晚上 ping 通服务器,但是第二天,如果不更改 client.conf 或 server.conf,这是不可能的..非常奇怪。

由于上述尝试均未奏效,我已别无选择。最终,我将在其他 Windows 7 设备上使用我的配置安装 openVPN,尽管我认为这不会成功。你们中有人看到我尚未尝试过的操作或看到我的配置文件中的错误吗?我相信一定有人遇到过非常类似的情况。

注意:我之前可能问过类似的问题,您也可以在其中找到有关配置的更多信息(openvpn:连接已建立,无法 ping 服务器 tun 接口(debian 服务器、windows 和 os x 客户端)),但这个问题是关于从 Windows 客户端成功 ping VPN 服务器的可能性。我看到的所有其他问题都可以通过上述尝试之一解决问题,但这对我来说不起作用。

非常感谢!

以下是我的客户端配置:


dev tun
dev-node openVPN

proto udp

remote <my-server-ip> 1194

#Dummy default gateway to work around Windows 'unidentified network'/'unknown network' (put a "#" in front of this)
route-metric 50
route 0.0.0.0 0.0.0.0 10.240.43.1

resolv-retry infinite
nobind
persist-key
persist-tun

ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\client1_win7.crt"
key "C:\\Program Files\\OpenVPN\\config\\client1_win7.key"

ns-cert-type server

tls-auth "C:\\Program Files\\OpenVPN\\config\\ta.key" 1
comp-lzo
verb 3

答案1

供将来参考,如果有人遇到类似的问题:重新安装 openvpn 后,问题仍未解决,但是有一个有趣的可重现效果:当在服务器配置中更改某些内容(例如,启用/禁用行ipp.txt persist)并重新启动服务器上的 openvpn 服务时,第一个客户端可以连接,但其他客户端则不能连接,除非如上所述再次重新启动服务。

我的这个问题与此有关:openvpn - 只有一个客户端密钥/证书对有效

最终的解决方案是摆脱 vServer(使用 Linux-vServer 技术)并转而使用同一家公司的基于 KVM 的 vServer,因为 Linux-vServer 有太多限制(加载自定义内核模块,如 iptables......)。

现在与 openvpn 相关的一切都运行正常

相关内容