macvlan网络中的​​Docker容器连接

nib*_*ibs 1 hyper-v docker

我有一个在 Windows Server 2012 R2 上运行的 CentOS 7 Hyper-V VM,它充当我的 Docker 主机。我正在尝试使用 Docker 的 macvlan 网络驱动程序将我的容器与其他 VM 放在 LAN 中。

网络:

docker create network -d macvlan --subnet=10.1.0.0/24 --gateway=10.1.0.1 -o parent=eth0 macnet
Run Code Online (Sandbox Code Playgroud)

容器:

docker run --net=macnet -it --ip=10.1.0.2 ubuntu bash
Run Code Online (Sandbox Code Playgroud)

从容器中,我无法 ping 网关。我tcpdump -n -i eth0在 Docker 主机上做了,看到arp来自容器的请求,但没有回复。Docker 主机 VM 的 NIC 是一个外部网络虚拟交换机,我怀疑这就是原因。是否有一些我遗漏的配置?

小智 5

您需要在 Hyper-V 中启用混杂模式。

Hyper-V > VM > 设置 > NIC(点击加号)> 高级功能 > 启用 MAC 地址欺骗