同一宿主机内,如何让其它容器走 openwrt 容器的代理?

10 天前
 code123789
https://hub.docker.com/r/zzsrv/openwrt
根据上述地址配置运行 Docker 容器,请问大佬如何配置才能让其它容器把 openwrt 容器当作网关,用 openwrt 容器控制其它容器的代理 ip 。
534 次点击
所在节点    问与答
4 条回复
Jays
10 天前
1 、宿主机网关指向 OP 的 IP (不太建议,这样重启时,有几率会碰到宿主机失联)
2 、通过容器的 http_proxy 和 https_paoxy 设置代理。例如: http_proxy=http://openwrt-ip:端口
code123789
9 天前
@Jays 谢谢大佬指点,非普通设置 http_proxy 和 https_paoxy 代理,必须得在网关处设置代理。想用一个 docker 容器运行 openwrt ,其它容器通过此 openwrt 容器作为代理上网,不知如何配置。
Jays
8 天前
@code123789 不是大佬。只是爱折腾,玩过你说的这种需求。
详细原理我讲不清楚。其实你应该搞明白这点,就好理解了。

假设宿主机 ip 地址=1.A
宿主机上面运行的 OP ,ip 地址=1.B
运行在主机 A 上其他容器,都相当于 A 上面安装的一个程序,本质上还是使用 A 的网络进行转发。

所以,你只要保证 A 的网关和 DNS 指向 1.B ,就可以快速的达到你需要的效果。

当然你还要解决的是 1.A 和 1.B 网络互通的事。例如,宿主机网络这样设置:

up ip link set eth0 promisc on

auto macvlan
iface macvlan inet static
address 192.168.123.123
netmask 255.255.255.0
gateway 192.168.123.1
dns-nameservers 192.168.123.1
pre-up ip link add macvlan link eth0 type macvlan mode bridge
post-down ip link del macvlan link eth0 type

参考: https://blog.icolak.com/archives/n1he-zi-n1-an-zhuang-docker-ban-openwrt

https://www.shintaku.xyz/posts/docker-openwrt/

但是我不是很推荐这个方案。
Jays
8 天前
关于基于 docker 部署 openwrt
https://www.v2ex.com/t/934065

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

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

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

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

© 2021 V2EX