我对以下场景的工作原理有点困惑。这是一个非常简单的设置,所以我希望解释是简单的。
我有一个只有一个物理NIC的主机。我在此物理NIC上以桥接模式创建了一个单独的macvlan子接口。然后启动两个LXD/LXC容器。每个容器都有自己独特的MAC和IP,但在配置文件中,我指定了相同的单个macvlan子接口作为每个容器的父接口。
两个容器都可以顺利地访问网络。我还可以使用每个容器的惟一IP地址通过SSH连接到每个容器。这是让我困惑的一点:
这一切是如何在幕后运作的?两个容器在访问外部世界时都使用单个macvlan MAC/IP。不会有什么碰撞吗?这不是应该不起作用吗?难道每个容器不需要一个macvlan子接口吗?这里是不是存在某种NAT?
macvlan没有太多的文档,希望有人能帮上忙。
发布于 2017-11-09 20:56:41
在IP层没有NATing -- MAC是链路层--但结果是相似的。
所有MACs (网卡和macvlan)都将通过连接到网卡的同一条链路进行路由。然后,NIC设备驱动程序会将流量路由到正确的接口(虚拟的或非虚拟的),从而将流量发送到来宾之一或主机。您可以将macvlan视为虚拟交换机。
https://stackoverflow.com/questions/46416062
复制相似问题