Ubuntu docker 守护进程设置默认策略,因为 drop 会破坏网络管理器“共享给其他计算机的功能”,直到重新启动

Ubuntu docker 守护进程设置默认策略,因为 drop 会破坏网络管理器“共享给其他计算机的功能”,直到重新启动

关于 我目前正在运行 ubuntu 22.04,运行网络管理器:版本 1.36

我希望与连接到笔记本电脑 eth0 以太网端口的设备共享连接到互联网的 wifi 接口,

我已使用网络管理器 GUI 配置 eth0 以显示share with other computers以下内容 在此处输入图片描述

当我将树莓派连接到笔记本电脑的以太网端口时,树莓派的 IP 地址为 10.42.0.x,我可以从树莓派 ping 我的笔记本电脑,但我无法从树莓派访问互联网。

我的设置: internet <----->wlan0_laptop_eth0 <------> eth1_Rasberry pi 注意:我想通过连接到我笔记本电脑以太网端口(eth0)的设备共享我笔记本电脑 wlan0 上的互联网。

问题: 如果我在笔记本电脑完全启动后连接 pi,我将无法从 pi 访问互联网,pi 仍然有一个在 10.42.0.x 范围内的 IP 地址

目前的解决方法: 如果我使用 pi 重启笔记本电脑已经连接到我的笔记本电脑的以太网端口,然后我就能以某种方式从我的 PI 访问互联网

我查看了 IP 表、路由、路由指标,没有发现任何异常,如果需要,我很乐意提供任何日志。

在 ubuntu 21.04 上我没有遇到这个问题

答案1

我的问题似乎是默认的 FORWARD 策略被 docker 守护进程设置为 drop,

当我将默认过滤表的 FORWARD 策略更改为接受时,我能够 ping 通,而无需重新启动笔记本电脑

问题修复: 明确更改 /etc/sysctl.conf 中的 net.ipv4.ip_forward=1,以便 docker 不会触及所述的转发策略这里. 注意:如果该文件未被编辑,docker daemon 会将转发策略设置为 drop。

根本原因: 这不是 ubuntu 版本 22.04,而是 docker 守护进程设置了启动时丢弃的转发策略,如文档所述这里

相关内容