V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
movq
V2EX  ›  程序员

[计算机网络问题] 机器 A 跑 docker, docker 走桥接网络,跑 openwrt 容器 B, B 运行 clash。接下来把机器 A 的 DNS 和网关设置成 B, ping B 显示 network unreachable

  •  
  •   movq · 2022-07-05 23:04:06 +08:00 · 1588 次点击
    这是一个创建于 874 天前的主题,其中的信息可能已经有所发展或是发生改变。

    docker 网络设置成桥接,所以容器 B 和机器 A 在同一网段的不同 IP

    容器 B 上面运行了 clash ,作为穿 Q 工具。

    在同一网段下的其它机器 C 和 D ,设置网关和 DNS 服务器为容器 B 的 IP ,均可实现穿 Q

    但唯独容器 B 的宿主机 A 在 ping B 的时候显示 network unreachable

    这应该是路由表之类的地方有问题,但我不懂,请大家帮助,谢谢

    7 条回复    2022-07-06 23:15:44 +08:00
    movq
        1
    movq  
    OP
       2022-07-05 23:16:20 +08:00
    备注:我为容器 B 创建了一块 macvlan 虚拟网卡
    oldshensheep
        2
    oldshensheep  
       2022-07-05 23:32:32 +08:00 via Android
    macvlan 的限制,和路由表无关。具体怎么解决谷歌一下。
    movq
        3
    movq  
    OP
       2022-07-05 23:47:38 +08:00
    @oldshensheep
    macvlan 我按照
    https://aoyouer.com/posts/macvlan-host/
    这里面的教程设置了之后,

    宿主机 A 和容器 B 之间可以通信了,但问题是同网段其它机器无法和宿主机 A 通信了
    Donahue
        4
    Donahue  
       2022-07-06 08:17:37 +08:00
    docker 做这个挺复杂的,太折腾了,还是用 pve 吧
    blue7wings
        5
    blue7wings  
       2022-07-06 09:30:39 +08:00
    我当初也是这么操作的,clash tun 模式搞来搞去也没成功,后来用了 v2raya ,在带网页管理,可以 docker 部署,tun 模式一键开启,非常方便。
    oldshensheep
        6
    oldshensheep  
       2022-07-06 13:26:43 +08:00
    @movq #3
    之前我也是这么搞得,后来我想了想,其实不用这么麻烦,可以创建一个桥接网络就行了。反正又不是一定要通过 macvlan 的地址访问……

    “同网段其它机器无法和宿主机 A 通信”
    A 创建了一个 macvlan 应该有另一个 ip ,用这个 ip 就可以了。(好像是这样,记得不太清楚。)
    liuhai233
        7
    liuhai233  
       2022-07-06 23:15:44 +08:00
    直接 docker create network 然后全部使用这个 network 用别名通信就可以了啊,不用搞什么桥接
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3167 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 13:51 · PVG 21:51 · LAX 05:51 · JFK 08:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.