Docker 正在覆盖我的默认路由配置

2023-12-07

这里是一个菜鸟,从 Orange Pi 3(Raspberry Pi 克隆)中的 docker 开始。

我正在尝试配置并启动 docker 容器 (bitwarden_rs),但是当我这样做时,我失去了与外部网络的连接。 Docker 弄乱了我的路由表。

网络配置:我有一个桥 br0,它桥接 eth0 和 wlan0。 (eth0连接路由器,wlan0配置为AP模式)

容器停止时的表:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    425    0        0 br0  <---OK
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 br0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.1.0     0.0.0.0         255.255.255.0   U     425    0        0 br0
192.168.2.0     0.0.0.0         255.255.255.0   U     425    0        0 br0

容器运行时的表(外部无法访问互联网)

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         0.0.0.0         0.0.0.0         U     205    0        0 docker0 <---NOT OK
default         _gateway        0.0.0.0         UG    425    0        0 br0
link-local      0.0.0.0         255.255.0.0     U     205    0        0 docker0
link-local      0.0.0.0         255.255.0.0     U     230    0        0 vethed140ce
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 br0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.1.0     0.0.0.0         255.255.255.0   U     425    0        0 br0
192.168.2.0     0.0.0.0         255.255.255.0   U     425    0        0 br0

我能做什么来修复它?这是 docker 配置问题或者可能是我的系统问题(armbian)。 谢谢


在ubuntu 20.04上,我尝试了很多方法, 喜欢阻止dhcpd 更新路由 or 更改 NetworkManager 配置以使网络管理器忽略 veth* 设备以上都不起作用。

我花了很多时间发现connman服务改变了默认路由。通过取消注释以下行来更改其配置文件 /etc/connman/main.conf:

#NetworkInterfaceBlacklist = vmnet,vboxnet,virbr,ifb,veth-,vb-

and

systemctl restart connman

重新启动 connman 服务。问题最终得到解决。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker 正在覆盖我的默认路由配置 的相关文章

随机推荐