这是我现在的网络设置,不幸的是它已经固定了(IP 地址已更改以保护无辜者):
CONTROLLER +---NIC1----> PC1(10.0.9.12)
|
+---NIC2----> PC2(10.0.9.12)
PC1
和PC2
是两台不同的物理机器,分别位于不同的网络上,通过 上的两个接口CONTROLLER
。两者永远无法见面。
我的要求是使用 ping 数据包来确定它是否PC2
正在运行,但是每次我尝试在计算机离线的情况下发送它时,它都会PC1
返回它处于活动状态。
我尝试NIC2
在该特定 IP(10.0.9.12 网络掩码 255.255.255.255)上添加度量为 1 的接口上的持久路由,但这根本没有帮助。我认为这是因为两个网关也是同一个 IP。
然后我尝试添加另一条持续路由,NIC1
网关为 0.0.0.0(也是 1.1.1.1),以为这样就可以淹没那些数据包了。但同样没有奏效,ping 一直到达PC1
,并且tracert
显示第一跳是第一个网络的网关主机名。
不幸的是,我是一名软件人员,我的专业知识很快就达到了极限——我没有更多的想法了。如果不更改任何相关的 IP 地址,我该如何解决这个问题?
答案1
@Zoredache在评论“您的网络已损坏”中是绝对正确的。控制器设备不知道如何处理两台 PC 之间的路由,因为对它来说,它们都可以通过任一接口访问。话虽如此,以下建议绝对是黑客行为,并且不是真正可持续的,除了测试和查看它是否有效之外,不应使用。您的正确解决方案是修复网络。
选项1
将另一台设备设置为代理人NIC2
和之间PC2
。要使其工作,NIC2
需要一个新的 IP,假设10.1.77.2
。中间设备或代理/nat 设备将有 2 个接口,10.1.77.3
和10.0.9.3
。第二个 IP 将绑定到控制器和代理设备之间的接口,并将请求转发到设备10.0.9.12
。因此网络将看起来像这样:
CONTROLLER +---NIC1----> PC1(10.0.9.12)
|
+---NIC2 (10.1.72.2)----> (10.1.72.3) PROXY ----> PC2(10.0.9.12)
选项 2
这可能有效也可能无效,具体取决于操作系统和其他因素。当两个接口位于同一网络上时,我曾多次尝试强制流量流出特定接口。在需要通信之前,PC2
您必须更改路由度量。在 Windows 桌面/服务器上,您应该能够执行以下操作:
route change 10.0.9.0 mask 255.255.255.0 metric 999 if nic1_id
请记住,完成后将其翻回去。
选项 3
这是另一个“取决于”选项,但我过去曾成功地使用它来查找网络上的重复 IP 地址,尽管从未将它用于 2 个出站接口。在或上设置静态 ARP 条目,controller
具体PC1
取决于PC2
您要与哪一个进行通信。此命令假设使用 Windows 服务器,您没有提到是什么Controller
,或者任何其他详细信息。
arp -d 10.0.9.12
arp -s 10.0.9.12 aa-bb-cc-dd-ee-00
或aa-bb-cc-dd-ee-00
中的 NIC 的 MAC 地址在哪里。PC1
PC2
我再说一遍,这些都是黑客行为。最好的选择,也是最省心的选择,就是重新设置其中一个网络的 IP。选项 1 可能是这 3 个选项中最不黑客的,但仍需要一些工作和维护。