我需要在同一个物理设备(eth1)上配置两个不同的MAC和IP地址。
但是,当我在默认/全局命名空间中配置macvlan接口并在其之上配置vlan时。我可以直接从外部主机平vlan地址,而不用标记它( ping )。但另一方面:有标记的pings不起作用。当我在非全局/非默认名称空间中设置网络配置时,也会发生同样的情况。
ip addr add 169.254.255.126/16 dev eth1
ip link set dev eth1 up
# ping 169.254.255.126 # PING from external host is working: fine
ip link add macvlan link eth1 type macvlan mode bridge
ip addr add 169.254.255.127/16 dev macvlan
ip link set dev macvlan up
# ping 169.254.255.127 # PING from external host is working: fine
ip link add link macvlan name vlan2 type vlan id 2
ip addr add 169.254.255.128/16 dev vlan2
ip link set dev vlan2 up
# ping 169.254.255.128 # PING from external host works without vlan tag: FAIL
# ping 169.254.255.128 -I VLAN2 # no PING response external host with vlan tag: FAIL可选:如果没有全局选项,命名空间是可以接受的。
FYI:我用内核5.4在Ubuntu18.04上测试了它,还用内核4.9测试了嵌入式buildroot系统(两次测试结果相同)。
发布于 2021-07-16 08:15:32
经过一些测试和进一步的研究,问题是我试图将多个IP地址从同一个网络区域放置到多个网络接口。
要使此工作正常进行,需要使用非全局命名空间。
这样我们就可以在这里结束这个问题了。谢谢
https://unix.stackexchange.com/questions/649366
复制相似问题