了解Windows路由表和默认网关
注意:这是我的家用计算机实验室,而不是商业/生产环境。我很乐意打破它并再次修复它,因此欢迎提出任何建议! 摘要 我添加了此快速摘要,因为这个问题变得很长。如果您需要有关路由表,IP配置等的更多详细信息,请查看以下内容。 我的计算机上有几个NIC。一个NIC是172.16.200.1 /24。当我尝试ping 172.16.200.2(网络上存在的主机)时,我得到了答复。到目前为止,一切都很好。 当我尝试连接到172.16.200.5(或任何其他不存在的主机)时,计算机将退回到我的默认路由(通过我的默认网关192.168.0.1的0.0.0.0)-然后,它将通过以下方式发送出去我的家庭路由器,然后在ISP网络中的路由环路中丢失。如果需要的话,下面还会提供更多详细信息,但是我想这里已经有一位大师可以回答这个问题了…… 我的问题是: 当该网络上的主机没有响应时,如何阻止计算机退回到专用网络的默认网关。这些专用网络已经具有较低度量的显式路由。 我已经在几台机器(Server 2008 R2,Windows 7,Hyper-V Server 2012 R2,Windows Server 2012)上对此进行了测试,它们的行为均相同。我开始接受这对于Windows机器是“正常行为”,但是我很好奇它是否可以停止。 我创建的Ubuntu VM与Windows VM具有相同的配置-Ubuntu VM不会像Windows VM那样退回到默认路由。我在本文的底部添加了Ubuntu VM和Windows 8.1 VM的路由表和结果。 更多细节 我已经对该主题进行了广泛的搜索,而我所看到的最接近的问题在这里:路由循环:TTL在传输过程中过期,但不幸的是,它无法解决如何停止问题或更改计算机上的行为。答案建议修复路由。我可以更改路由器以丢弃发往专用IP地址的所有内容(或将其转发给我室友的IP,嘿嘿),但这不会改变我计算机的行为。(我还阅读了原始答案中引用的出色的子网划分指南,该指南可在/server/49765/how-does-ipv4-subnetting-work上找到) 我无法理解为什么我的计算机一旦尝试使用其内部适配器(短时间)然后尝试失败,然后为什么会尝试通过Internet连接到私有IP地址,例如尝试对我知道的主机执行ping操作我的网络上不存在… Pinging 172.16.200.32 with 32 bytes of data: Reply from 172.16.200.1: Destination host unreachable. Reply from 203.29.XXX.YY: TTL expired in transit. Reply …