![现状](https://linux22.com/image/1492904/%E7%8E%B0%E7%8A%B6.png)
现状
我有一个 Netgear WGR614v7 路由器(无线已禁用)。
两个子网中的主机都应该可以访问互联网,但不能跨子网 ping 通主机。
我想将我的私有 C 类网络分成两个子网:
- 第一个子网:
- 子网掩码:255.255.255.128
- 子网地址:192.168.0.0
- 广播地址:192.168.0.127
- 主机范围 192.168.0.1 - 192.168.0.126
- 默认网关 192.168.0.1
- 第二个子网:
- 子网掩码:255.255.255.128
- 子网地址:192.168.0.128
- 广播地址:192.168.0.255
- 主机范围:192.168.0.129 - 192.168.0.254
- 默认网关:192.168.0.1(我认为这是错误的?)
路由器配置
路由器配置(WGR614v7 上的“LAN IP 设置”选项卡 - 看起来很像这样http://interface.netgear-forum.com/WGR614v6/start.htm):
LAN TCP/IP 设置
- IP地址:192.168.0.1
- IP 子网:掩码 255.255.255.128(也许我应该在路由器上将其更改为 /24 而不是 /25,并在主机上放置 /25 掩码?)
- RIP 方向:无
- RIP 版本:已禁用
- 使用路由器作为 DHCP 服务器:已启用
- 起始 IP 地址:192.168.0.50
- 结束 IP 地址:192.168.0.99
- 地址预留:无
工作站
我在第一个网络(192.168.0.51,通过 DHCP)中有一个工作站,可以毫无问题地访问互联网。
第二个网络中的工作站(通过静态 IP 192.168.0.129)无法访问互联网,也无法 ping 路由器(192.168.0.1)。
主要问题
你能帮我找出我做错的地方吗?我正在尝试找出为什么我不能将第二个工作站 (192.168.0.129) 放在第二个子网上并从那里访问互联网或 ping 路由器。
答案1
我认为您无法使用当前的路由器正确完成您想做的事情(除非您可以将其升级到 OpenWRT 或同等版本)。而且这比您想象的要困难得多 - 并且可能无法仅通过 Web 界面完成。
正如已经指出的那样,每个子网都需要用其自己的网络块中的 IP 指向路由器。
因此,在路由器的 LAN 接口上,您需要有 2 个 IP 地址 - 192.168.0.1 和 192.168.0.254(或者,在第二种情况下,您未使用的 192.168.0.129 - 192.168.0.254 中的 IP 地址)。为了做到这一点,您需要将第二个 IP 地址绑定到路由器,但它似乎不允许您这样做。
即使您确实实现了上述目标,您也只是实现了目标的一部分。如果您使用 DHCP,则需要让 DHCP 服务器在两个子网上应答,并为每个子网提供适当范围内的 IP。同样,这是可行的,但可能不适用于您当前的路由器。
但是要问的问题是“你为什么要这样做”。这样做不会给你带来任何显著的安全性/隔离,因为系统仍然在同一个网段上,也就是说,一半的计算机可以读取和响应另一半的广播流量。因此,处理这个问题的典型方法有点复杂——而且,你需要更强大的路由器软件来实现它。(为了完全理解我在这里要说的,你需要了解子网和网段之间的区别——这两个概念是相辅相成的,通常 1 个子网 = 1 个网段,但你描述的是 1 个网段上的 2 个子网——这通常不是你想要的)
我做过类似的事情的方式是这样的 - 我得到了一个支持 OpenWRT 的路由器。我将路由器上的 LAN 端口配置为不同的 VLAN。(大多数 4 端口路由器都很有趣,因为 4 个 LAN 端口实际上是单独访问的,并且软件使它们看起来像一个交换机并且可以互换 - 但您实际上可以对它们进行编程以位于不同的 VLAN 上,并提供每个端口隔离)。然后,将每个 VLAN 放在不同的子网中,并为每个子网的路由器接口分配一个 IP 地址。您可能需要 2 个交换机(如果任何子网中有超过 3 个设备)- 您需要为每个子网使用 1 个交换机。这样,计算机就位于不同的网络段中,并且 - 从实际的角度来看 - 如果不通过路由器,就无法相互通信。[话虽如此,我可以向您指出那些说不要依赖 VLAN 来确保安全性的文章 - 尽管我不同意他们的结论]
答案2
我真的很抱歉这样做,但我只是通过设置静态路由来回答我自己的问题。我基本上遵循了这些说明,但做了一些调整:https://www.dd-wrt.com/wiki/index.php/Linking_Subnets_with_Static_Routes
在第一个路由器(Netgear WGR614v7)上,静态路由配置如下:
- 私人:是的
- 活跃:是
- 目标 IP 地址:192.168.0.128
- IP 子网掩码:255.255.255.128
- 网关 IP 地址:192.168.0.2
- 度量:2
有一条以太网电缆从 Netgear 上的 LAN 端口连接到 Linksys 上的 WAN 端口。
现在这是第二个路由器的配置(Linksys BEFSR41v2):
LAN IP 地址
- 设备 IP 地址:192.168.0.129
- 子网掩码:255.255.255.128
WAN IP 地址(您可以使用 Netgear 的 DHCP,但我使用静态):
- 广域网 IP 地址:192.168.0.2
- 子网掩码:255.255.255.128
- 默认网关:192.168.0.1
- DNS:(使用您的 ISP 提供的 DNS)
我在两个路由器上都启用了 dhcp,但我不敢相信它真的起作用了。
- 在 Netgear 上,我将范围设置为 192.168.0.50 至 192.168.0.99
- 在 Linksys 上,我将范围设置为从 192.168.0.150 到 192.168.0.199
两个网络的所有主机都可以访问互联网。
我注意到的一件事是,第一个子网(192.168.0.0/25)中的主机可以不是ping 第二个子网 (192.168.0.128/25) 中的主机,但 ping 第二个子网中的主机能从第一个 ping 主机。
我希望子网彼此互斥,但那将是另一个问题。
编辑:对于互斥子网的最小设置,静态路由完全没有必要。如果路由器无法正常工作,请确保在配置路由器后关闭电源。以下是我发现的方法:http://www.linksys.com/ca/support-article?articleNum=132275#b