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

ZeroTier 组网求教

  •  
  •   Jeremial · 289 天前 · 831 次点击
    这是一个创建于 289 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有两个网络。每个网络中分别有一台 PVE lxc 容器加入了 zerotier 网络,两台容器都分别开启了 ip 转发功能

    # sysctl -p /etc/sysctl.conf 
    net.ipv4.ip_forward = 1
    net.ipv6.conf.all.forwarding = 1
    

    网络 A 192.168.100.0/24, 容器 IP 192.168.100.17, zerotier 网络 IP 192.168.196.10

    网络 A 网关 192.168.100.1 已配置到 192.168.88.0/24 的静态路由表,网关指向 192.168.100.17

    网络 B 192.168.88.0/24, 容器 IP 192.168.88.17, zerotier 网络 IP 192.168.196.20

    网络 B 网关 192.168.88.1 已配置到 192.168.100.0/24 的静态路由表,网关指向 192.168.88.17

    现在想在网络 A 中一台没安装 zerotier 的设备访问网络 B 的一个服务,做成类似 tailscale 的 site-to-site networking 的效果。目前卡住了,希望有懂的大佬指导一下。

    现在网络 A 设备可以 ping 通网络 B 的 IP

    127 % ping 192.168.88.4
    PING 192.168.88.4 (192.168.88.4): 56 data bytes
    64 bytes from 192.168.88.4: icmp_seq=0 ttl=61 time=20.505 ms
    64 bytes from 192.168.88.4: icmp_seq=1 ttl=61 time=20.898 ms
    64 bytes from 192.168.88.4: icmp_seq=2 ttl=61 time=19.442 ms
    64 bytes from 192.168.88.4: icmp_seq=3 ttl=61 time=20.777 ms
    ^C
    --- 192.168.88.4 ping statistics ---
    4 packets transmitted, 4 packets received, 0.0% packet loss
    round-trip min/avg/max/stddev = 19.442/20.405/20.898/0.574 ms
    

    traceroute 也可以看到路径是正确的,

    130 % traceroute 192.168.88.4
    traceroute to 192.168.88.4 (192.168.88.4), 64 hops max, 52 byte packets
     1  router.lan (192.168.100.1)  2.426 ms  1.142 ms  0.999 ms
     2  192.168.100.17 (192.168.100.17)  2.035 ms  1.504 ms  1.394 ms
     3  192.168.196.20 (192.168.196.20)  21.345 ms  19.377 ms  19.187 ms
     4  192.168.88.4 (192.168.88.4)  19.880 ms  19.652 ms  20.723 ms
    

    但是浏览器访问时直接提示 connection reset. 使用 curl 请求时,也提示被 reset

    % curl http://192.168.88.4          
    curl: (56) Recv failure: Connection reset by peer
    

    有没有大佬知道这个应该怎么解决, 是我缺少配置步骤了吗

    第 1 条附言  ·  287 天前
    搞了几次没搞定,决定不搞了,就用旁路由 openwrt 上的 zerotier 插件了
    第 2 条附言  ·  286 天前
    对于 iptables 不熟悉的人,只能网上抄别人的作业,但是网上的写法各种各样,抄了好几个也没抄对。
    还是 V 友给力,加上 6 楼的 3 条 iptables 规则就可以了
    8 条回复    2023-07-16 17:44:40 +08:00
    luckjoe680
        1
    luckjoe680  
       288 天前
    tailscale subnet
    Jeremial
        2
    Jeremial  
    OP
       288 天前
    @luckjoe680 tailscale 我成功了, 想看下 zerotier 是怎么操作才能达到 tailscale 的效果
    luckjoe680
        3
    luckjoe680  
       288 天前
    @Jeremial zerotier 直接网页上设置路由表
    snachx
        4
    snachx  
       288 天前 via iPhone
    能 ping 说明网络通了,你检查一下服务监听的 host 以及 iptables 的规则
    Jeremial
        5
    Jeremial  
    OP
       288 天前
    @luckjoe680 #3 文章内容就是已经设置完的结果
    luckjoe680
        6
    luckjoe680  
       286 天前   ❤️ 1
    @Jeremial 还需要设置一下 iptables 吧
    sudo sysctl -w net.ipv4.ip_forward=1
    PHY_IFACE=eth0; ZT_IFACE=ztr2qqy2fg
    sudo iptables -t nat -A POSTROUTING -o $PHY_IFACE -j MASQUERADE
    sudo iptables -A FORWARD -i $PHY_IFACE -o $ZT_IFACE -m state --state RELATED,ESTABLISHED -j ACCEPT
    sudo iptables -A FORWARD -i $ZT_IFACE -o $PHY_IFACE -j ACCEPT
    iptables-save
    Jeremial
        7
    Jeremial  
    OP
       286 天前
    @luckjoe680 谢谢,我有时间再去试试
    Jeremial
        8
    Jeremial  
    OP
       286 天前
    @luckjoe680 太感谢了,加上这 3 条 iptables 规则就可以了。

    对于 iptables 不熟悉的人,只能网上抄别人的作业,但是网上的写法各种各样,抄了好几个也没抄对。还是 v 友给力
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   889 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 22:19 · PVG 06:19 · LAX 15:19 · JFK 18:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.