ZeroTier 组网求教

2023-07-13 22:29:55 +08:00
 Jeremial

有两个网络。每个网络中分别有一台 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

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

1031 次点击
所在节点    问与答
8 条回复
luckjoe680
2023-07-14 07:48:45 +08:00
tailscale subnet
Jeremial
2023-07-14 08:58:10 +08:00
@luckjoe680 tailscale 我成功了, 想看下 zerotier 是怎么操作才能达到 tailscale 的效果
luckjoe680
2023-07-14 10:06:16 +08:00
@Jeremial zerotier 直接网页上设置路由表
snachx
2023-07-14 10:09:18 +08:00
能 ping 说明网络通了,你检查一下服务监听的 host 以及 iptables 的规则
Jeremial
2023-07-14 10:54:13 +08:00
@luckjoe680 #3 文章内容就是已经设置完的结果
luckjoe680
2023-07-16 09:38:48 +08:00
@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
2023-07-16 10:40:37 +08:00
@luckjoe680 谢谢,我有时间再去试试
Jeremial
2023-07-16 17:44:40 +08:00
@luckjoe680 太感谢了,加上这 3 条 iptables 规则就可以了。

对于 iptables 不熟悉的人,只能网上抄别人的作业,但是网上的写法各种各样,抄了好几个也没抄对。还是 v 友给力

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

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

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

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

© 2021 V2EX