在 Portainer 中设置 MacVLAN 从 DHCP 服务器获取 IP

在 Portainer 中设置 MacVLAN 从 DHCP 服务器获取 IP

我有一台连接了 3 个接口 (eth0-eth2) 的 Portainer VM。我希望容器从位于 xxx1 的每个接口上的 DHCP 服务器请求 IP。

我们以 eth0 为例:

该接口的子网是 172.16.0/27,我希望我的容器的 IP 范围在 172.16.0.17-30 之间。在 Portainer 网络下,我添加了另一个网络,设置如下:

  • 名称:172Config
  • 驱动:macvlan 父卡:eth0 子网:172.16.0/27
  • 网关:172.16.1
  • IP 范围:172.16.16/28(我希望一半的子网主机提供给容器

然后我添加了另一个网络:

  • 名称:172Network
  • 驱动程序:macvlan
  • Macvlan配置:选择创建然后172Config
  • 启用手动容器附件:True

然后我将 172Network 连接到一个新的 httpd 容器,但它不起作用。我获得了容器上的正确 IP,但我无法 ping 或与它们建立任何类型的连接。任何 Portainer 专家都可以建议如何正确执行此操作?

答案1

上述配置是正确的。我必须在 ESXi vSwitch 安全选项下将混杂模式和伪造传输设置为“接受”。完成此操作后,一切都开始按预期运行,并且我的防火墙能够列出新的 DHCP 租约。

答案2

上述配置是正确的。我必须在 ESXi vSwitch 安全选项下将混杂模式和伪造传输设置为“接受”。完成此操作后,一切都开始按预期运行,并且我的防火墙能够列出新的 DHCP 租约。

遇到了同样的问题,修改 ESXi 主机上的 vSwitch 确实解决了问题。

我的伪造传输和混杂模式被设置为拒绝,但在将它们更改为接受之后,我立即能够 ping 我在 Portainer 中设置的 IP,并且我的容器应用程序能够通过暴露的端口接受连接。

相关内容