跨子网的通信问题

跨子网的通信问题

这是我的网络设置:

[调制解调器] -> [路由器 A] (IP:192.168.1.1) -> [路由器 B] (IP:192.168.0.1)

两个路由器的子网掩码都是 255.255.255.0。

我的问题是,虽然连接到的设备Router B能够与连接到的所有设备通信Router A,但反之则不然。

我怎样才能让连接的设备Router A与连接到的设备进行通信Router B

注意:Router A已连接到的Router B“Internet”插座。

答案1

普通家用路由器在“互联网套接字”上启用 NAT 是正常行为。这意味着 RouterB 客户端在跨到“RouterA”端时会进行 NAT。这意味着 RouterA 看不到客户端的地址,它看到的是 RouterB 所有客户端的地址。这就是 RouterA 的客户端无法连接到 RouterB 的客户端的原因:RouterA 客户端无法区分一个 RouterB 的客户端和另一个 RouterB 的客户端。

您有 2 个选择:

1)路由网络(又名第 3 层寻址):禁用 RouterB 的“互联网套接字”上的 NAT。

2) 交换网络(又名第 2 层寻址):将两个路由器放在同一个网络上(使用不同的地址),并使用 LAN 插座而不是互联网插座连接路由器。

在这两种情况下,其他细节可能都需要修正。例如:

a) 路由网络中的静态路由:您可能必须在 RouterA 上添加静态路由,以便知道 192.168.0.0/24 网络位于 RouterB 的 IP 地址。

b) 交换网络中的 DHCP 服务器:只能有一个(也可以有两个,但必须让这两个服务器知道另一个,并确定哪个是主服务器,哪个是从服务器;这在消费级路由器上通常无法实现)。因此,您必须禁用其中一个路由器 LAN 端的其中一个 DHCP 服务器。

为了建立有效的设置,您必须决定需要哪种类型的网络(路由网络还是交换网络?),并且通常安全性在这一决定中起着重要作用。在路由网络中,您可以要求路由器拒绝某些活动,以保护某些客户端免受其他客户端的影响。在交换网络中,路由器对客户端到客户端通信的控制较少,因为它们位于同一冲突域中……它们直接通信,而无需使用路由器作为中间人。

如果没有关于您的网络设备和需求的更多详细信息,我们无法为您提供更多帮助。

编辑:如果你能设法将 OpenWrt 放在路由器上,你将能够完全配置你的设备并进行复杂的网络配置。否则,你的成功机会将受到供应商软件的限制。顺便说一句,看起来你的 TP-LINK 支持 OpenWrt

答案2

通常的解决方案是让路由器 B 充当透明交换机/网桥,而不是 NAT 网关路由器。

有些路由器允许您禁用其 NAT 网关功能,并会自动使其 WAN(Internet)端口变得与其 LAN 端口相同。

其他路由器不允许您禁用其 NAT 网关功能,因此您只需像这样解决它:

  1. 将以太网电缆从路由器 A 的一个 LAN 端口连接到路由器 B 的一个 LAN 端口。
  2. 禁用路由器 B 上的 DHCP 服务器服务(如果无法完全禁用它,请参阅将 DHCP 租用池大小设置为零长度)。
  3. 为路由器 B 在路由器 A 的私有子网上提供静态 IP 地址,以便您以后需要时仍然可以访问路由器 B 的 Web 管理界面(例如更改其无线网络名称或安全设置)。

如果您按这种方式设置,路由器 B 的无线 LAN 或有线以太网 LAN 端口上的客户端将直接从路由器 A 获取其 DHCP 租约。您的整个家庭网络将是一位 IP 子网,每个人都可以与其他人通话。

相关内容