当 eth0 处于桥接状态时,主机无法连接到网络或互联网

当 eth0 处于桥接状态时,主机无法连接到网络或互联网

我实际上正在尝试使用这个docker-net-dhcp 用于 docker 的开源网络驱动程序,使容器能够从主机网络的 DHCP 获取 IP 地址。

步骤如下:

ip link add my-bridge type bridge
ip link set my-bridge up
ip link set eth0 master my-bridge               ---------(1)
...

从此之后,我就无法再从主机连接到网络了。

再次,当我使用该插件创建 docker 网络时,

容器能够从 DHCP 成功获取 IP 地址,连接到互联网,从而

主机网络中除主机之外的任何计算机。

甚至容器和主机之间的 ping 也显示无法访问。

我不明白为什么主持人会遇到这个问题,

我遗漏了什么吗?

我觉得当我运行上述命令时应该是这样的场景(1),

(我知道我可能完全错了,所以如果我的理解完全错误,请纠正我)

在此处输入图片描述

答案1

当“eth0”成为桥接端口时,它将完全被虚拟交换机接管,并与主机的 TCP/IP 堆栈断开连接。主机操作系统的所有 IP 处理都转移到新的“my-bridge”接口,该接口除了代表桥接之外,还连接到桥接的所谓“主机端口”(您的图表中没有显示)。

在此处输入图片描述

因此,您需要将所有 IP 配置从“eth0”移至“my-bridge”,以便主机上的网络继续工作。(正如您在 docker-net-dhcp README 中看到的,作者演示了在“my-bridge”接口上运行“dhcpcd”DHCP 客户端。)

相关内容