V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
code123789
V2EX  ›  问与答

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

  •  
  •   code123789 · 24 天前 · 644 次点击
    https://hub.docker.com/r/zzsrv/openwrt
    根据上述地址配置运行 Docker 容器,请问大佬如何配置才能让其它容器把 openwrt 容器当作网关,用 openwrt 容器控制其它容器的代理 ip 。
    4 条回复    2024-12-04 00:18:05 +08:00
    Jays
        1
    Jays  
       23 天前 via Android
    1 、宿主机网关指向 OP 的 IP (不太建议,这样重启时,有几率会碰到宿主机失联)
    2 、通过容器的 http_proxy 和 https_paoxy 设置代理。例如: http_proxy=http://openwrt-ip:端口
    code123789
        2
    code123789  
    OP
       22 天前
    @Jays 谢谢大佬指点,非普通设置 http_proxy 和 https_paoxy 代理,必须得在网关处设置代理。想用一个 docker 容器运行 openwrt ,其它容器通过此 openwrt 容器作为代理上网,不知如何配置。
    Jays
        3
    Jays  
       22 天前 via Android
    @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
        4
    Jays  
       22 天前 via Android
    关于基于 docker 部署 openwrt
    https://www.v2ex.com/t/934065
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1199 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:10 · PVG 02:10 · LAX 10:10 · JFK 13:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.