求解群晖 docker container 内访问外网问题

108 天前
 darklinden

在群晖上布了个自己写的 docker 自动拉配置启动 clash ,部署成功,测试也通

然后突然发现神奇情况,在群晖内的 docker container 内无法访问一部分节点地址,但是同内网的电脑上可以,同内网的电脑上的 docker container 内可以

又起了 docker openssh-server 直接连上测试,内网电脑上 docker 内一切正常,但是群晖 docker 内,一部分地址可以 ping 通但是 telnet 会等待到超时

docker container 的网络都是 bridge

搜了一下最多有说 container 内无法访问外网可能是防火墙问题,但是关掉防火墙或者给防火墙添加允许 docker container ip 访问所有端口也都不行

请问群晖的 docker 还有什么神奇操作我没注意到的吗?

1561 次点击
所在节点    NAS
4 条回复
leo220
108 天前
群晖上 Docker 在防火墙外侧, 比如你好从 docker 访问外网节点 443 ,你就要在防火墙上打开内网 443 端口,因为报文要先从 docker 穿越防火墙到 host 再路由出去外网
kaRika
108 天前
你得容器是用的 macvlan 吗? 这个东西就是没法和主机通信的
darklinden
108 天前
@leo220 #1 没看懂,是说群晖防火墙的问题吗?
测试套件是群晖的老 Docker 和新 Container Manager ,都是同样问题
比如有 x.x.x.x:12345 和 y.y.y.y:12345 两个节点,内网电脑和 docker container 内都可以 ping 通也可以 telnet
但是群晖的 docker container 内,两个节点都可以 ping 通却一个可以 telnet 连接,另一个 telnet 连接时卡到超时,无论是否开防火墙,防火墙是否放行所有端口...
darklinden
108 天前
@kaRika #2 没有使用 macvlan mode ,仅仅是开个 http 代理
但是代理去请求节点的时候,ping 都没问题,tcp 连接部分可用部分不可用。而在同网段的电脑和电脑内 docker container 内都可以 tcp 连上

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1136934

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX