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

deluge on docker 如何绕开旁路由 gateway?

  •  
  •   jemyzhang · 2020-12-27 10:54:36 +08:00 · 1100 次点击
    这是一个创建于 1461 天前的主题,其中的信息可能已经有所发展或是发生改变。
    昨天折腾了一天,tracker 报错说是 invalid port,后来猛然发现是因为本机过了 clash 旁路由,但是 docker 好像不支持指定 gateway,host 方式如果用 route 设置就会同时改主机的,bridge 方式试了一下改 default gateway 就不能联网了。
    不知道 iptables 能不能搞定这件事情,看看大侠有没有比较简单完美的解决方案。
    3 条回复    2020-12-27 20:03:12 +08:00
    rrfeng
        1
    rrfeng  
       2020-12-27 13:59:34 +08:00 via Android
    bridge 肯定可以的。
    jemyzhang
        2
    jemyzhang  
    OP
       2020-12-27 14:07:46 +08:00
    @rrfeng 怎么玩,能不能给点方法或者例子?
    whitegerry
        3
    whitegerry  
       2020-12-27 20:03:12 +08:00
    @jemyzhang 有个相反的需求,指定 gitea 容器走 clash 旁路由,用了 redsocks,192.168.100.2 是旁路,你这个需求类似的办法应该也行

    docker
    ```
    networks:
    gitea-net:
    driver_opts:
    com.docker.network.bridge.name: br_gitea
    ```

    iptables
    ```
    iptables -t nat -N REDSOCKS
    iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
    iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
    iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
    iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN
    iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
    iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN
    iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN
    iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN
    iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12345
    iptables -t nat -A PREROUTING -i br_gitea -j REDSOCKS
    ```


    redsocks.conf
    ```
    redsocks {
    local_ip = 0.0.0.0;
    local_port = 12345;

    ip = 192.168.100.2;
    port = 7891;
    type = socks5;
    }
    ```
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   948 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:11 · PVG 06:11 · LAX 14:11 · JFK 17:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.