具有不同子网的 LAN 到 LAN

具有不同子网的 LAN 到 LAN

尽管两个路由器属于不同的子网,是否可以通过 LAN 到 LAN(而不是 LAN 到 WAN)相互通信?

拓扑:
路由器 1 (192.168.1.0/24)
路由器 2 (10.0.0.0/24)

例如,路由器 1 下 IP 地址为 192.168.1.180 的 PC 将能够与路由器 2 下 IP 地址为 10.0.0.30 的 PC 通信。

图表 :

https://i.imgur.com/wAivfed.png

答案1

这绝对是可能的,事实上这是路由(路由器)工作的基础。通过各种方式 - 在本地路由器中配置静态路由,通过称为 RIP(路由信息协议)的协议进行更新,这本质上是路由器共享其路由信息,如果其他所有方法都失败,则使用默认网关 (DG)。

当本地路由器不知道将流量发送到何处时,流量就会发送到 DG - 通常从您的 LAN 发送到 ISP 的路由器。您的 PC 将使用本地路由器作为 DG,您的路由器将使用 WAN 端口上的 ISP 路由器作为 DG,依此类推。

在您询问的情况下,每个路由器都需要配置一个静态路由;如果它是基于 Linux 的路由器,您可以使用类似这样的命令来执行此操作,其中路由器 1 的 LAN IP 地址为 192.168.0.1 并且连接到路由器 2 的物理以太网端口称为“eth3”,路由器 2 的 IP 地址为 10.0.0.1 通过 LAN 端口“eth0”(任意选择)连接到路由器 1 在路由器 1 上:

ip route add 10.0.0.0/24 via 192.168.0.1 dev eth3

在路由器 2 上:

ip route add 192.168.1.0/24 via 10.0.0.1 dev eth0

任何连接到这两个路由器之一并试图与其不在的子网通信的 PC 都需要将本地路由器*设置为 DG。除非您使用静态 IP,否则 DHCP 通常会配置此项。

如果它有不同的 DG(并且可能具有多个 NIC),则需要在本地设置静态路由(例如,通过 [计算机 IP 10.0.0.x] dev [连接到路由器 2 的计算机 NIC] 的 192.168.1.0/24。无论哪种情况,路由器仍然需要从上面添加相同的路由。

*从技术上讲,本地路由器的 LAN IP 地址

此网站对这里涉及的概念进行了很好的阐述: http://linux-ip.net/html/routing-intro.html

如果你有 RIP 版本 2 或其他更复杂的路由器间协议,则此路由信息可以在路由器之间进行通信,而无需任何额外配置 - 请参阅 https://en.wikipedia.org/wiki/Routing_Information_Protocol

答案2

192.168.1.0/24 无法直接与 10.0.0.0/24 通信

如果某个设备仅在 192.168.1.0/24 上,那么它与 10.0.0.0/24 通信的唯一方式是 192.168.1.0/24 上的某个其他设备通过路由流量来提供帮助。

限制的原因在于,在您的示例中,子网不重叠。尽管子网不同,但 192.168.0.0/16 可以与 192.168.2.0/24 通信,因为存在一些重叠。

老的:我现在已经回答了你提出的问题。我猜我还没有完全回答你想知道的问题。如果是这样,请随时提出另一个问题。

更新 1:感谢您提供的有用的网络图。我首先想到的是考虑将 LAN2 放在 192.168.1/24 上,然后让路由器充当交换机。通常,最简单的方法是将东西插入 LAN 端口。您可能还需要告诉设备只转发第 2 层流量,而不是尝试执行第 3 层路由。结果可能会更简单。

但是,这种方法不是必需的,我们可以按照您实际要求的方式进行操作。在当前图表中,一个 LAN(我将重命名,从“LAN”更改为“LAN1”)位于 192.168.1/24,LAN2 位于 10/24。

现在,首先我想澄清一个我认为您可能不理解的概念(因为您当前的图表看起来有点不完整,因为它仅显示了需要使用的部分 IPv4 地址)。OpenWRT 使用的 192.168.1/24 地址通常不会分配给整个 OpenWRT 设备。OpenWRT 使用的 192.168.1/24 地址通常分配给特定的网络端口。因此,与 LAN1 通信的 OpenWRT 上的网络端口使用 192.168.1/24 地址,而 OpenWRT 应该有另一个与“调制解调器”通信的 IPv4 地址。事实上,我并不真正关心 OpenWRT 使用什么地址连接到调制解调器(如果调制解调器使用桥接,它甚至可能是公共 IPv4 地址),只要它不与我们使用的任何其他东西位于同一子网中即可。例如,如果 OpenWRT 使用 192.168.0/30 连接到调制解调器,那么没问题,因为该子网与其他地方使用的任何其他子网都不重叠。

仍然需要的是 OpenWRT 和 ZTE 用来通过图中的“LAN 到 LAN”电缆相互通信的 IPv4 地址。因此,为该链路分配一个子网,并为这些网络端口分配子网上的地址。例如,让 OpenWRT 使用 192.168.2.1/30,ZTE 使用 192.168.2.2/30,或者让 OpenWRT 使用 172.16.0.2/30,ZTE 使用 172.16.0.1/30。

附注:您可能会注意到,在某些情况下,我使用的是 IPv4 /30,而不是 IPv4 /24。“/30”表示子网大小;/30 可以很好地支持 2 个设备,而 /24 可以很好地支持 254 个设备。当您可以使用小型子网时,我只会提到 /30。但是,您可以使用 /24 而不是 /30,这实际上并没有什么坏处。这可能会使一些地址被“浪费”,因为它们不那么容易使用,但可能的替代方案是它们无论如何都会保持未使用状态,并且您有数百万个地址,因此使用任何一个都可以。如果您想更好地理解该主题,请进一步阅读有关子网大小的信息(特别是,参见“可变长度子网掩码”图表,又称 VLSM 图表)和/或 CIDR 表示法。

然后,尝试让 OpenWRT 和 ZTE 设备相互“ping”。通常,配置了内部 Web 服务器的设备会有一个页面,提供创建“ping”测试的访问权限。

我建议您在尝试使路由功能正常工作之前确保它正常工作。一旦每个设备都可以与相邻设备通信,然后开始尝试确保每个设备都有所需的路由,以便将流量发送到网络上的其他设备。如果您的 PC 无法通信,请尝试使用“ping”测试来确定您可以在远程设备上成功 ping 哪些网络端口。

您可能需要调整某些防火墙(如“Windows 防火墙”软件)以确保设备可以响应 ping。(如果您有可用的硬件,将交换机连接到路由器的一个端口,并将多台 PC 连接到该交换机,以查看同一子网上的设备是否可以相互 ping 可能会有所帮助。这可以帮助确定设备是否响应 ping,而无需担心路由器的干扰。)

您可能想问更多关于如何启用路由的问题。但是,我建议您在分配所有需要分配的 IPv4 地址之前不要考虑这样做。一旦您分配了这些地址,在询问有关如何使路由正常工作的其他问题之前,您可以通过提供更新的网络图来帮助我们。

相关内容