Networking 单个MAVLAN接口上的多个LXD容器

Networking 单个MAVLAN接口上的多个LXD容器,networking,iptables,lxc,netfilter,lxd,Networking,Iptables,Lxc,Netfilter,Lxd,对于下面的场景是如何工作的,我有点困惑。这是一个非常简单的设置,所以我希望解释很简单 我有一个带有单个物理NIC的主机。我通过这个物理NIC以网桥模式创建了一个macvlan子接口。然后我启动两个LXD/LXC容器。每个容器都有自己独特的MAC和IP,但在配置文件中,我指定了与每个容器的父接口相同的单个macvlan子接口 两个容器都可以毫无问题地访问网络。我还能够使用每个容器的唯一IP地址SSH到每个容器中。这是让我困惑的一点: 所有这些在引擎盖下是如何工作的?当访问外部世界时,两个容器都使用

对于下面的场景是如何工作的,我有点困惑。这是一个非常简单的设置,所以我希望解释很简单

我有一个带有单个物理NIC的主机。我通过这个物理NIC以网桥模式创建了一个macvlan子接口。然后我启动两个LXD/LXC容器。每个容器都有自己独特的MAC和IP,但在配置文件中,我指定了与每个容器的父接口相同的单个macvlan子接口

两个容器都可以毫无问题地访问网络。我还能够使用每个容器的唯一IP地址SSH到每个容器中。这是让我困惑的一点:

所有这些在引擎盖下是如何工作的?当访问外部世界时,两个容器都使用单个macvlan MAC/IP。会不会发生某种碰撞?这不应该奏效吗?我不应该每个容器都需要一个macvlan子接口吗?这里有什么NAT吗


macvlan没有太多的文档记录,希望有人能提供帮助。

没有像在IP层那样使用NATing-per-say-mac是链路层-但这是一个类似的结果

所有MAC、NIC和MAVLAN将通过连接到NIC的同一链路进行路由。然后,NIC设备驱动程序将流量路由到正确的虚拟接口或非虚拟接口,该接口将流量路由到一个来宾或主机。您可以将macvlan视为虚拟交换机。

您应该去问问,LXD/LXC社区对stackoverflow的了解有点少,而且stackoverflow是用于编程相关问题的。