有没有办法将计算机设置为与物理连接的不同子网上的两个不同设备进行通信?

有没有办法将计算机设置为与物理连接的不同子网上的两个不同设备进行通信?

情况:我在以太网上有 3 台设备。

1) 172.30.40.100 (Ubuntu 14.04)
2) 172.30.41.101 (other)
3) 192.168.30.102 (other)

我想设置 1) 以便能够向两个设备发送消息。我可以听到每个发出 UDP 流量的设备 (ngrep/tcpdump/Wireshark)。有一个 UDP 协议消息,它将告诉 2)/3) 更改其 IP,从而允许所有三个设备位于同一网络上的正确网络设置。

背景:2)/3)是可能重新启动的设备,当它们重新启动时,它们会出现在与我当前设置不同的网络(192)上。网络上还有其他设备只能侦听当前网络上的 UDP 消息,因此将 2)/3) 连接到正确的网络非常重要。

目前,我有一个程序在 1) 上运行,它将其 IP 地址更改为 192,并将消息发送到 3) 以更改为 172,然后将其自己的 IP 更改回 172。我希望还有其他方法可以能够向每个设备发送 UDP 消息,而无需更改 1) 的 IP 地址。

这可能吗?

答案1

如果您插入非托管交换机或集线器,以太网别名将解决您的问题。不确定如何在网络管理器中执行此操作(无论如何我总是将其删除,并使用该/etc/network/interfaces文件),但如果您打开终端,您可以执行以下操作

sudo ifconfig eth0:1 192.168.30.105 netmask 255.255.255.0

并且您应该能够在 Ubuntu 计算机上的任何其他设备之间自由交谈。

只需/etc/network/interfaces添加第二节引用eth0:1并设置 IP 和网络掩码。不要设置网关地址。

相关内容