在下面显示的网络中,Netgear 路由器的 LAN 接口地址为 192.168.1.1,其 DHCP 分配地址从 1.201 开始。
Linksys 路由器的 LAN 接口地址为 192.168.0.1,其 DHCP 分配的地址从 0.101 开始。其 WAN 接口连接到 Netgear 路由器,静态地址为 192.168.1.10。
问题是,即使在 Linksys 路由器上禁用 NAT 和 SPI 防火墙,并在 Netgear 路由器上添加静态路由后,.1.201 子网上的计算机仍然无法访问 .0.101 子网上的计算机,如下所示:
Destination IP: 192.168.0.0
Mask: 255.255.255.0
Gateway IP: 192.168.1.10
tracert 到达 192.168.1.10 (192.168.0.1) 之后就失效了。
我想知道问题是否出在回程上,但是现有的路由表如下所示的 Linksys 路由器已经有 192.168.1.0 的条目,并且不允许我添加另一条路由(抱怨静态路由无效):
Destination IP: 192.168.1.0
Mask: 255.255.255.0
Gateway: 0.0.0.0
Interface: WAN
.0.101 子网上的计算机能到达 .1.201 子网上的计算机 - 问题在于相反的情况。
顺便说一下,Netgear 路由器通过其 WAN 端口连接到互联网,并且两个网络上的所有计算机都可以访问互联网。
我的最终目标是通过静态路由将从 .1.201 到 .0.101 的访问限制在某些计算机上。
网络图位于http://flymike.dreamhosters.com/Static%20Route%20Problem.jpg
答案1
您是否有一个特定的原因想要让某些设备与其他设备位于不同的 IP 子网中?如果没有,那么就让“路由器 B”成为一座桥梁。关闭其 NAT、路由器、防火墙和 DHCP 服务器功能。让它像任何其他设备一样通过其内置的 DHCP 客户端获取自己的 IP 地址。
如果您的路由器不允许您关闭 NAT 网关或 IP 转发/路由,您可以停止使用其 WAN 端口。只需将其一个 LAN 端口插入另一个路由器的 LAN 端口即可。如果您的路由器不允许您关闭其 DHCP 服务,请尝试将其 DHCP IP 地址租约池设置为零(即为其提供一个长度为零的 IP 地址范围以通过 DHCP 提供服务)。
顺便说一句,如果您确实有充分的理由将“路由器 B”保留为 IP 转发路由器而不仅仅是网桥,那么您的问题可能出在您在路由器 A 上设置的静态路由上。您需要将路由器 A 指向路由器 B 的上游/WAN/.1.x 子网 IP 地址。这是路由器 A 可以“看到”路由器 B 的唯一接口。但从您的问题来看,您试图指向路由器 A 和路由器 B 的“下游/LAN/0.x 子网 IP 地址,但这仍然没有告诉路由器 A 如何到达该子网。
答案2
如果没有更多信息,要有意义地回答这个问题会有些复杂。(图表、操作系统和有关每个客户端设置的更多信息可能会有用,反向跟踪路由上发生的情况也很有用。此外,每个路由器上的路由表副本以及分配给路由器上每个接口的 IP 地址也确实需要)。
根据提供给我的有限信息,我怀疑路由器 B 上的网关可能有错误,或者缺少静态路由。
总体来说,我怀疑你的问题出在——
路由器 B 上的 WAN 接口需要在 A 上的 LAN 接口范围内(例如 192.168.1.253),并且需要是静态的。路由器 A 需要为 192.168.0.0/24 vi 192.168.1.253 指定路由(假设 192.168.1.253 是 A 上的 LAN 接口的地址)
类似地,路由器 B 需要一条到路由器 A(192.168.1.1)的 192.168.1.0/24 的静态路由。
答案3
将子网掩码从 255.255.255.0 更改为 255.255.0.0
...或者第二个位置上的任何值,小于.255,如果您只处理一个子网,.254 应该可以工作。