kiddin9 / OpenWrt_x86-r2s-r4s-r5s-N1

一分钟在线定制编译 X86/64, NanoPi R2S R4S R5S R6S, 斐讯 Phicomm N1 K2P, 树莓派 Raspberry Pi, 香橙派 Orange Pi, 红米AX6, 小米AX3600, 小米AX9000, 红米AX6S 小米AX3200, 红米AC2100, 华硕ASUS, 网件NETGEAR 等主流软硬路由
https://openwrt.ai
MIT License
7.25k stars 2.89k forks source link

Docker subnet 无法访问op主机的任何IP, 测试最新23.05固件 #1502

Closed borchian closed 11 months ago

borchian commented 11 months ago

测试环境: 硬件:HK1 box, and X86-64 PC 固件: 分支: 23.05.0-rc2 内核: 5.15.118 Dockerd版本:24.0.5-1 建立任何一个subnet, 如下:

docker network create --subnet=172.28.0.0/16 --gateway=172.28.0.1 docker-br2

docker run -d -it --name= --net=docker-br2 --ip=172.28.0.2

docker exec -it ping 172.28.0.1

or ping docker 原始172.17.0.1 or ping 192.168.2.1(op ip) 只要是outgoing都不通 kernel-188-armv8-HK1b-docker-subnet-error

只有关掉firewall才能让以上subnet ip能够取得与op内部访问。

使用中的 5.15.86内核版本op不需要特别设置,无subnet ping不通问题。

除此之外,尝试替换/etc/opkg/distfeeds.conf到其他版本低的源 (如:22.03.5)来安装低版本的dockerd Dockerd版本:20.10.22-1

docker exec 会出现错误

http: invalid host header

请版主看一下是否可以解决!🙏

PS. 另外尝试在firewall添加特定规则,还是走不通

borchian commented 11 months ago

测试环境: 硬件:HK1 box, and X86-64 PC 固件: 分支: 23.05.0-rc2 内核: 5.15.118 Dockerd版本:24.0.5-1 建立任何一个subnet, 如下: #docker network create --subnet=172.28.0.0/16 --gateway=172.28.0.1 docker-br2 #docker run -d -it --name= --net=docker-br2 --ip=172.28.0.2 #docker exec -it ping 172.28.0.1 or ping docker 原始172.17.0.1 or ping 192.168.2.1(op ip) 只要是outgoing都不通 kernel-188-armv8-HK1b-docker-subnet-error

只有关掉firewall才能让以上subnet ip能够取得与op内部访问。

使用中的 5.15.86内核版本op不需要特别设置,无subnet ping不通问题。

除此之外,尝试替换/etc/opkg/distfeeds.conf到其他版本低的源 (如:22.03.5)来安装低版本的dockerd Dockerd版本:20.10.22-1 #docker exec 会出现错误 #http: invalid host header

请版主看一下是否可以解决!🙏

PS. 另外尝试在firewall添加特定规则,还是走不通

再次与前一版本进行比对排查,发现是防火墙设置正确即可解决subnet无法访问OP主机内部,以及container之间互相访问。7月12这个版本,问题解决。