Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux:在不同的接口上使用相同的mac与不同的设备对话_Linux_Sockets_Unix_Networking - Fatal编程技术网

Linux:在不同的接口上使用相同的mac与不同的设备对话

Linux:在不同的接口上使用相同的mac与不同的设备对话,linux,sockets,unix,networking,Linux,Sockets,Unix,Networking,我有多个设备具有相同的硬件mac地址(在工厂重置模式下),它们都调用tftp服务器以获得适当的mac 在同一个nic上,显然无法区分设备,但是,我每个nic有一个设备。我评估了这些选项以利用这一事实: SO\u BINDTODEVICE 将tftp服务器分别绑定到每个nic上可能仍然无法让我用包响应发送方,因为linux的arp表会混淆从哪个nic发送包 网络名称空间 Linux不允许将物理接口引入网络名称空间。只有veths,它同样需要在“主机”端桥接,这可能无法与出现在多个物理NIC上的同一

我有多个设备具有相同的硬件mac地址(在工厂重置模式下),它们都调用tftp服务器以获得适当的mac

在同一个nic上,显然无法区分设备,但是,我每个nic有一个设备。我评估了这些选项以利用这一事实:

SO\u BINDTODEVICE

将tftp服务器分别绑定到每个nic上可能仍然无法让我用包响应发送方,因为linux的arp表会混淆从哪个nic发送包

网络名称空间

Linux不允许将物理接口引入网络名称空间。只有veths,它同样需要在“主机”端桥接,这可能无法与出现在多个物理NIC上的同一个mac一起工作


我是否缺少一个选项?

为什么出厂重置设备具有相同的MAC?MAC根据其定义是唯一的标识符,在每个设备上应该是不同的。ARP表不将MAC映射到NIC,而是将IP地址映射到MAC。路由表根据目标的IP地址确定要使用的物理接口(NIC)。当您的设备还没有MAC时,如何通过TFTP(应用层协议)进行通信?他们使用的是静态IP地址吗?@Mvarta他们在默认mac上使用固定IP(192.168.0.1/24),每个设备都是相同的。