在两个子网之间路由流量

在两个子网之间路由流量

我正在使用 DHCP 服务器和路由表将一些嵌入式 Linux 设备连接到主 LAN。在主 LAN (192.168.1.0/24) 上,我连接了一台 PC 和第一台嵌入式 Linux 设备。嵌入式 Linux 设备有两个以太网端口。一些 Linux 设备使用软件以太网桥连接在一起。每个嵌入式设备应如何运行有两种情况:

  1. 链的头部。我编写了一个简单的 bash 脚本,通过提取它看到的网关的 MAC 来检测它是否在主 LAN 上。如果它是头部,它会从主 LAN DHCP 服务器接收 IP 地址并在第二个以太网端口 (192.168.50.0/24) 上创建一个新的子网。

  2. 不是头部。当 bash 脚本发现某个设备不是头部时,它只会桥接两个以太网端口。

网络拓扑图

我尝试了一些简单的路由命令(ip route、route)。目前,从除主机之外的其他设备,我可以 ping 通 50.1 服务器、主机设备上的主 LAN 端口(1.101),但无法 ping 通主 DHCP 服务器(1.1)或主 LAN PC(1.100)。从主 LAN PC,我可以 ping 通第一台设备(1.2)的 LAN 端,但无法 ping 通子网端(50.1)。

头戴式设备:

$ ip route
    192.168.50.0/24 dev eth1  src 192.168.50.1 
    192.168.1.0/24 dev eth0  src 192.168.1.2 
    default via 192.168.1.1 dev eth0

在链接的设备上:

$ ip route
    192.168.50.0/24 dev eth0  proto kernel  scope link  src 192.168.50.254 
    127.0.0.0/8 dev lo  scope link 
    default via 192.168.50.1 dev eth0 

这里的最终目标是让所有嵌入式设备能够与主 LAN 上的 PC 通信。

还应该知道,也可以有多个链连接到主 LAN。

相关内容