我的计算机已连接到运行 192.168.42.0/24 网络的辅助路由器,并且我的计算机还具有一条将该网络上的所有内容定向到路由器的路由,但对于该网络上除路由器本身以外的任何内容,它都会收到 ICMP 响应Reply from 192.168.42.194: Destination host unreachable.
(192.168.42.194 为我的电脑)。其他所有网络都可以正常工作,例如整个互联网,或者我主路由器上的地址(例如 192.168.1.*),只是在 192.168.42.0/24 网络上不起作用……
route print
返回:
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.42.1 192.168.42.194 276
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
192.168.42.0 255.255.255.0 On-link 192.168.42.194 276
192.168.42.194 255.255.255.255 On-link 192.168.42.194 276
192.168.42.255 255.255.255.255 On-link 192.168.42.194 276
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 192.168.42.194 276
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 192.168.42.194 276
===========================================================================
Persistent Routes:
Network Address Netmask Gateway Address Metric
0.0.0.0 0.0.0.0 192.168.42.1 Default
===========================================================================
只有当没有路由时,任何东西才应该发送 ICMP 主机不可达响应,对吗?那么,为什么我自己的计算机会发送该响应,ping
或者tracert
当我有 192.168.42.0 的路由和 255.255.255.0 的掩码时?IP 地址 192.168.42.2 肯定适合该路由。如果我明确为尝试访问的 IP 地址添加路由,它会起作用,如下所示:(route add 192.168.42.2 mask 255.255.255.255 192.168.42.1
掩码后面的 192.168.42.1 是网关,或发送数据包的设备,以便它可以进一步路由),但为什么它不适用于自动在表格上的隐式路由?我也禁用了防火墙(如果有人认为这仍然是一个问题,我会使用 Comodo)。我甚至尝试过明确地将 192.168.42.1 的网关添加到 192.168.42.0/24 路由,而不是通过 0.0.0.0 的网关进行路由,On-link
但这也不起作用,所以这不是网关规范问题。
如果主机确实无法访问,那么路由器的 IP 地址 (192.168.42.1) 就会将该信息发送给我...
这个网络全部是我创建的,因此不存在管理员将我锁定之类的问题,因为我就是管理员。
编辑
在这种情况下,辅助路由器托管 VPN,因此 ARP 将无法工作。由于这一认识,我将在下面发布自己的答案。(好吧,我刚刚发现,在删除重复问题标记之前,我无法发布我的答案……标记为重复的问题的答案并不能解释 Windows 在某些情况下如何或为何忽略路由,尤其是标题显示,这表明这不是同一个问题……)
答案1
尝试将同一子网上的任何 IP 地址的流量路由到路由器是错误的。往返于这些计算机的流量不需要路由,也不会由路由器路由。
仅当网络上有具有这些 IP 地址的活动计算机时,对子网中的 IP 地址进行 Ping 操作才会有效。
您误解了 ping 响应。对于本地 IP 地址,目标主机无法访问响应意味着您尝试 ping 到的计算机没有响应来自您正在 ping 的计算机的 ARP 请求。您正在 ping 的 IP 地址必须解析为 MAC 地址,如果您的计算机没有收到来自目标计算机的 MAC 地址的 ARP 请求的响应,那么您将收到目标主机无法访问的响应。
编辑
看一下此图。您会注意到左侧的所有主机都位于同一网络 (130.103.1.x) 中,而右侧的所有主机都位于同一网络 (130.103.2.x) 中。您会注意到这两个网络彼此不同。左侧主机之间的通信保持在左侧。右侧主机之间的通信保持在右侧。在这两种情况下,流量都不会跨越路由器。只有当左侧网络上的主机需要与右侧网络上的主机通信时,流量才会跨越路由器。当流量跨越路由器时,它会被路由。当流量不跨越路由器时,它不会被路由。(图片由http://www.dummies.com/how-to/content/exploring-tcpip-routers.html)