求助 OpenWrt 中的 Docker 容器如何走代理?

355 天前
 Jaeger

OpenWrt 安装了 PassWall 启用了全局透明代理,局域网中的设备都可以正常走代理, ssh 进 OpenWrt 命令行测试也可以走代理,但是我发现 OpenWrt 设备中的 Docker 容器无法访问 github 之类的国外服务,有什么方式可以让所有 Docker 容器也走 PassWall 的透明代理吗?

2151 次点击
所在节点    OpenWrt
9 条回复
qiaoqiao1235
355 天前
最简单的是用 host 网络
Turismo
355 天前
iptables 设置下防火墙转发 v2ray 有一个协议是支持同透明代理的
shelken
355 天前
「 ssh 进 OpenWrt 命令行测试也可以走代理,但是我发现 OpenWrt 设备中的 Docker 容器无法访问 github 之类的国外服务」这个感觉有什么遗漏的,这部分描述再清楚点,例如是特定容器不行还是所有都不行,「 ssh 进 OpenWrt 命令行测试也可以走代理」用什么命令和域名做的的测试
Jaeger
355 天前
@shelken #3 ssh 进 openwrt 命令行用 curl https://www.google.com/ 测试正常,但尝试在多个容器中执行同样的命令就没有反应,容器中 curl 国内网站响应正常,也尝试容器使用 host 模式,也还是无法访问 Google 之类的国外服务。

难道跟我使用的翻墙插件 PassWall 有关系?大家的 openwrt 中的 docker 容器默认都能正常翻墙吗?
Jaeger
355 天前
@qiaoqiao1235 #1 我在网上查到的也是说用 host 模式,但试了一下没有效果,可能是 openwrt 那个地方的设置有问题
Jaeger
355 天前
@Turismo #2 感谢,我研究一下这个方案
qiaoqiao1235
355 天前
@Jaeger #5 passwall 需要开启本机代理(你的 ssh 下正常的话应该是开启了的,再检查下),然后要看 docker 下 dns 是否设置正确了,设置成系统 dns 。实在不行就贴防火墙规则看看。我也 openwrt 下 docker 用两年了,是 ok 的。
shelken
355 天前
@Jaeger 如果你的 passwall 有开 http 端口出来的话,在容器的环境变量里面加一个 https_proxy=http://路由器本机 ip:[代理软件 http 端口] ,重启容器后再试下。如果可以说明本身容器没走代理网络
EdwinHui
89 天前
@Jaeger 请问解决了吗?我这边也遇到这个问题了。

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

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

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

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

© 2021 V2EX