首先,所有设备都处于开启状态并具有活动/工作的网络连接。
其次,我尝试 ping 的设备可以从我尝试 ping 的设备上 ping 出去!
好的,我们有一个使用 Cisco ASA 5500 的安全 VPN 隧道,它与远程位置建立了有效的 VPN 连接,远程位置位于 172.21.79.0 子网中。在我们这边,我们有一台服务器,应该能够 ping 此子网内的 IP,有些 IP 可以 ping 通,有些则不行。
服务器在 VPN 连接上设置为 10. 地址,它还有一个 172.16 地址上的域连接。我注意到,如果我禁用域连接,一切都会正常,但如果启用域连接,172.21.79.0 子网上的某些 IP 将不再可 ping。
这就是问题所在,我认为是不同网络上的 2 个网卡导致了这个问题......但我不知道如何解决这个问题。
我还应该提到的另一件事是该服务器在 Hyper-V 中作为虚拟机运行。
答案1
我遇到过这种情况,这很令人沮丧。如果你启用了一个网卡,你的机器会默认选择它,但如果你有两个网卡,它就不知道该选择哪一个。我不知道为什么它会默认选择一个而不是另一个。因为听起来你是在一台 Windows 机器上,所以我不确定你是否能够通过特定的接口进行 ping 操作。
但在大多数 *nix 机器上这将是:
ping -I interface hostip.to.ping
您可以做的是通过执行以下操作向您的 Windows 机器添加路由:
route ADD xxx.xxx.xxx.xxx MASK xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx
翻译过来就是:
route ADD “network” MASK “subnet mask” “gateway ip”
您的机器将根据您上面列出的网络知道要使用哪个接口。它将与您在服务器上定义的网卡相匹配。
以下是两个不错的参考:
路由:
如何通过不同的网络接口路由不同的流量(在 Windows 中)
正在 Ping:
http://www.inetdaemon.com/tutorials/internet/icmp/using_ping.shtml
编辑:如果这与您的 Cisco 设备有关,我会非常惊讶。但您可以检查每个子网的 ACL 列表。如果这让您感到困惑,请使用一个网卡并一次设置一个子网,验证两者是否单独工作。如果我没有误解这个问题,我很确定是您的本地机器与路由混淆了,而不是防火墙或外部路由器。
答案2
检查你的路线。也许你对不同的 IP 有不同的路线,或者没有正确的网络掩码。测试你的连接的另一种方法是使用指定的源接口进行 ping 操作。
答案3
您是否检查过任何相关机器上是否有激活的本地防火墙(Linux 的 IPTABLES、Windows 的 Windows 防火墙)?
如果是,您是否尝试过禁用它?