【问题标题】:Multiple LXD containers on single macvlan interface单个 macvlan 接口上的多个 LXD 容器
【发布时间】:2018-03-07 01:32:04
【问题描述】:

我对以下场景的工作方式有些困惑。这是一个非常简单的设置,所以我希望解释简单。

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

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

这一切是如何在幕后运作的?两个容器在访问外部世界时都使用单个 macvlan MAC/IP。不会发生某种碰撞吗?这不应该行不通吗?我不应该每个容器都需要一个 macvlan 子接口吗?这里有某种 NAT 吗?

macvlan 的文档不多,希望有人能提供帮助。

【问题讨论】:

  • 你应该去discuss.linuxcontainers.org问,LXD/LXC社区在stackoverflow上有点稀疏,stackoverflow也用于编程相关问题。

标签: networking iptables lxc netfilter lxd


【解决方案1】:

没有 NATing,因为那是在 IP 层——MAC 是链路层——但结果相似。

所有 MAC(NIC 和 macvlan)都将通过通往 NIC 的同一链路进行路由。然后,NIC 设备驱动程序会将流量路由到正确的接口(虚拟或非虚拟),该接口将其发送到来宾之一或主机。您可以将 macvlan 视为虚拟交换机。

【讨论】:

    猜你喜欢
    • 2019-10-20
    • 2016-03-10
    • 2021-07-06
    • 1970-01-01
    • 2019-11-16
    • 1970-01-01
    • 1970-01-01
    • 2019-09-19
    • 2019-03-04
    相关资源
    最近更新 更多