Networking 通过虚拟接口发送数据包,该虚拟接口的子网也与另一接口的子网相同

Networking 通过虚拟接口发送数据包,该虚拟接口的子网也与另一接口的子网相同,networking,Networking,我有一台Linux机器,有两个接口eth0和eth1。 eth0有192.168.2.30,eth1有172.16.30.20。eth0连接到路由器,该路由器也是WAN的网关。eth1连接到局域网。一切都很好,直到我必须连接一个 将IP范围为192.168.2.5-192.168.2.15的一组设备连接到eth1也连接到的LAN 我想向这些设备发送多播数据包。由于多播在同一子网上工作,因此我使用以下命令创建了一个IP别名 系统(“ifconfig eth1:1 192.168.2.100网络掩码

我有一台Linux机器,有两个接口eth0和eth1。 eth0有192.168.2.30,eth1有172.16.30.20。eth0连接到路由器,该路由器也是WAN的网关。eth1连接到局域网。一切都很好,直到我必须连接一个 将IP范围为192.168.2.5-192.168.2.15的一组设备连接到eth1也连接到的LAN

我想向这些设备发送多播数据包。由于多播在同一子网上工作,因此我使用以下命令创建了一个IP别名

系统(“ifconfig eth1:1 192.168.2.100网络掩码255.255.255.0以上”)

尽管添加了上述内容,但数据包并没有通过eth1。发现这是因为eth0也与eth1:1具有相同的子网

我尝试调用ip路由添加开发人员eth1。但是,没有成功


如果有人能提供建议,我们将不胜感激。

从表面上看,您至少有两个问题,根据您选择的解决方案,可能会出现其他问题

问题一,重叠子网:解决这一问题的绝对100%正确方法是更改子网,使其不重叠。我怎么强调都不过分,这在你的处境中是多么重要。如果假定192.168.2.5-192.168.2.15上的这些计算机与eth0连接到同一网络,那么您需要重新考虑您的设置,因为这将永远无法工作,因为您将创建网络环路或错误路由

在第一种情况下,192.168.2.5-192.168.2.15和192.168.2.15没有以任何方式进行物理连接,如果您上面的人说您不能这样做,您可以尝试在eth1上创建NAT,以便您的系统可以看到不同网络上的子网。但这会使理解路由变得混乱,并可能干扰多播通信

完成后,运行追踪路线以确保交通正确通过。如果没有,请提供输出和您希望它与当前设置一起使用的路径

如果多播仍然不能工作,那么我建议为它创建另一个问题