有两个网络。每个网络中分别有一台 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
luckjoe680 2023-07-14 07:48:45 +08:00
tailscale subnet
|
2
Jeremial OP @luckjoe680 tailscale 我成功了, 想看下 zerotier 是怎么操作才能达到 tailscale 的效果
|
3
luckjoe680 2023-07-14 10:06:16 +08:00
@Jeremial zerotier 直接网页上设置路由表
|
4
snachx 2023-07-14 10:09:18 +08:00 via iPhone
能 ping 说明网络通了,你检查一下服务监听的 host 以及 iptables 的规则
|
5
Jeremial OP @luckjoe680 #3 文章内容就是已经设置完的结果
|
6
luckjoe680 2023-07-16 09:38:48 +08:00 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 |
7
Jeremial OP @luckjoe680 谢谢,我有时间再去试试
|
8
Jeremial OP @luckjoe680 太感谢了,加上这 3 条 iptables 规则就可以了。
对于 iptables 不熟悉的人,只能网上抄别人的作业,但是网上的写法各种各样,抄了好几个也没抄对。还是 v 友给力 |