linux – 如何在不同的命名空间中创建可访问的macvlan别名?

我有

>我的主网络命名空间中的接口,名称eth0
>另一个名称为jail0的接口,位于备用网络名称空间(名称为name0)中.此命名空间由被监禁的环境使用.
> jail0是eth0的macvlan别名.

从我的主系统和我的*,我看到网络没有任何问题.

但是,我不能互相ping.

为什么会这样?我想让它们可以到达.

其他网络接口中不存在任何网络接口.

解决方法:

macvlan接口可以在不同的模式下使用,这些模式可以改变处理两个macvlan实例之间传输的数据的方式.默认模式是vepa(虚拟以太网端口聚合),这可能是您的设置不起作用的原因.

您可能想要配置的常见模式的简短描述:

> vepa数据通过物理接口传输,对于macvlan实例之间的通信,交换机需要支持发夹模式,或者必须有IP路由器转发数据包.
>即使外部交换机支持发夹模式,也允许macvlan实例之间的私有通信.
> bridge允许实例之间直接通信,macvlan实例之间的流量不在物理链路上传输.

您可能希望在桥接模式下使用macvlan.对于macvlan实例与包含网络接口本身的命名空间之间的通信,您需要在同一(主/主机)网络命名空间中创建macvlan实例.有关详细信息和说明,请参见A.B’s answer.

有关完整文档(以及其他模式),请参阅man 8 ip-link.

上一篇:macvlan几种模式


下一篇:docker部署Macvlan实现跨主机网络通信