[求助][zerotier]zerotier 很卡,基本处于不太可用状态。

2022-07-10 00:55:29 +08:00
 zjsegzhf

最近房东换了个新网,没有公网 IP 了,之前是在路由器开了个 OpenVpn Server ,公司电脑作为 client 连过去。 家里路由器下有台服务器,装了些服务,本来公司电脑 vpn 连过来用着很方便。 同事服务器上开了 samba ,vpn 连过来,samba 作为网络驱动器挂在 windows 下用着很方便,速度也不错。 现在问题来了。

没有公网 IP 后,我用过 frp 。 我腾讯云有机子,frp 可以用,速度也不错,但是只限于我开的那些服务,而且每个服务都要映射一遍,很麻烦。所以开始搜能不能没有公网 IP 的情况下,搭建局域网 vpn 。

找到两个方案。

zerotier

我用了,我在我家里服务器上装了 zerotier ,路由器有 zerotier 插件也装了,公司电脑也装了 zerotier 。 现在有两个问题。

openvpn

我还没有试,思路是在腾讯云或者其他有公网 IP 的机子上装个 openvpn server ,将路由器和公司电脑作为 client 接入。路由器开端口映射,公司电脑是不是就能通过路由器的局域网 ip 和开出来的端口进行访问? 然后在 samba 服务器作为 client 接入,公司电脑也就能访问 samba 目录了。(不知道行不行?)

网络小白,大哥们求赐教。

11207 次点击
所在节点    宽带症候群
55 条回复
billytom
2022-07-10 00:57:22 +08:00
1.先把 zt 各节点 ipv6 彻底禁掉
2.开一个腾讯 hk 轻量云,做 moon 服务器(当然你要先测试下舒服,你要内地就没办法了)
weichengwu
2022-07-10 00:58:35 +08:00
有服务器可以试试 nps ,简单易用,也挺稳的
zjsegzhf
2022-07-10 01:11:23 +08:00
多谢回复

@billytom
- zt 节点的 ipv6 怎么禁用? IPv6 Auto-Assign 里都是没有勾选的。
一定要 hk 的服务器吗? 内地的服务器不可以么
还有就是为什么能 ping 通路由器的局域网 ip ,但是无法访问路由器端口映射的服务呢?

@weichengwu
我去看一下。 我主要是想能够把路由器接进去,不用我每台虚拟机都设置一遍。
WordTian
2022-07-10 01:18:14 +08:00
卡的原因主要就是国内对 UDP 的 qos 策略,openvpn 默认配置也一样的问题,当然 openvpn 可以改成 tcp 连接的
zjsegzhf
2022-07-10 01:42:02 +08:00
#### 更新:
关于 zerotier ,我现在笔记本连着路由器,装了 zerotier ,ping 路由器的 zt 的局域网 ip ,延迟都在 1ms 2ms ,但是我还是访问不了路由器端口映射的服务。
我直接访问路由器网关 IP 加映射端口,也无法访问服务。

是不能这么用吗? 还是说路由器防火墙啥的导致的
luxiang1204
2022-07-10 06:04:12 +08:00
@zjsegzhf 可以设置一下 zerotier 的路由。
Marionic0723
2022-07-10 08:23:59 +08:00
路由表改一下,比如 192.168.1.0 via 203.0.113.1 ,前者是你路由器所在的局域网地址,后者是路由器在 zerotier 中的 IP 。
Greenm
2022-07-10 08:29:22 +08:00
换成 tailscale
zjsegzhf
2022-07-10 09:58:23 +08:00
@luxiang1204 @Marionic0723
两位说的路由是在 zt 中加吗? 我看到 zt 中有个管理路由的地方。
我在 zt 中加了路由,192.168.50.1/24 via 192.168.196.220, 192.168.50.1 是我路由器的局域网地址,后者是 zt 中的地址。 操作加入后,显示路由编程了 192.168.50.0/24 via 192.168.196.220 。
我试着访问 http://192.168.196.220:30180 ,30180 是我路由器开的端口转发,但是访问不通。
我在另一台装了 zt ,且能 ping 通 192.168.196.220 的服务器上,用 nc -vz 192.168.196.220 30180 和 curl https://192.168.196.220:30180 , 都显示 connection refused 。
luxiang1204
2022-07-10 10:05:29 +08:00
@zjsegzhf 192.168.50.0/24 via 192.168.196.220 试试呢
luxiang1204
2022-07-10 10:13:29 +08:00
@zjsegzhf 添加路由之后直接通过你路由器下的服务器 ip 访问。例如:192.168.50.x
zjsegzhf
2022-07-10 10:16:24 +08:00
@luxiang1204 我在 zt 中添加 192.168.50.0/24 via 192.168.196.220 , 添加后他还是显示 192.168.50.0/24 via 192.168.196.220 。

我添加 192.168.50.1/24 via 192.168.196.220 , 添加后也显示 192.168.50.1/24 via 192.168.196.220

然后我添加了 192.168.50.1/32 via 192.168.196.220 , 添加后显示 192.168.50.1/32 via 192.168.196.220 , 可是我通过 http://192.168.196.220:30180 还是访问不了服务,nc 和 curl 还是显示 connection refused 。
zjsegzhf
2022-07-10 10:26:01 +08:00
@luxiang1204 我理解你的意思了,通过 zt 组网,再加上路由,然后直接访问服务器的局域网 ip 。
我现在设备连到外网,挂着 zt ,但是 ping 不通路由器 zt 的地址,昨天还偶尔能通,今天直接通不了了。。 也 ping 不通局域网的服务器 ip 。。
luxiang1204
2022-07-10 10:30:08 +08:00
自建 moon 试试呢。会好很多的
tonghuashuai
2022-07-10 11:10:00 +08:00
试试 tailscale
Marionic0723
2022-07-10 11:27:06 +08:00
管理员权限 cmd 执行 zerotier-cli peers 查看和 LEAF 节点的连接状态,第五个是 Direct 则为直接连接,否则为 ZT 的服务器中继。
3fae7fec67 - LEAF -1 RELAY
f4a2188588 1.8.9 LEAF -1 DIRECT 44 3026 240e:324:**/16384

至于路由表的问题,需要在路由器里打开自动允许 NAT 的功能,Openwrt 在 LUCI 上可以开启,也可以改配置文件,加一行 option nat '1' 。
比如我在手机连接 ZT 内网( 203.0.113.120 ),远程桌面家里的电脑( 192.168.43.10 ,203.0.113.10 ),如果我发起连接的目标地址是 192 的,那么电脑端看到的 IP 来自 203.0.113.2 (路由器的 ZT 地址);如果是 203 的,则的男生看到的是手机的 ZT 地址(...120 )。
路由表添加的是 192.168.43.0/24 via 203.0.113.2 .

不过这种连接性很差,UDP 丢包太严重,我现在把两地路由器装上 Softether VPN ,加一个三层交换机组网,有点绕不过来,最后翻官网文档还是看明白了。
Marionic0723
2022-07-10 11:33:04 +08:00
@Marionic0723 破输入法又打错了,的男生->DNS 。

Softether VPN 组网很不错,TCP 的,不卡。不过路由跟踪偶尔发现 IP 乱跳,在主服务器( 192.168.43.0/24 )上创建虚拟三层交换机,把所有的虚拟 HUB 接口添加进去,IP 设置所在接口所在内网的地址(如 main 为 192.168.43.254 ,sub 为 192.168.35.254 ),再通过网桥接到路由器 LAN 上。需要组网的地方(子 LAN ,192.168.35.0/24 )通过级联连接到主网络的 HUB 上,然后也桥接到 LAN 。即可通过三层交换,而且没有 NAT.

192.168.43.10 访问 35.2 ,路由跟踪显示经过 43.1 (路由器)、43.254 (三层交换机)、35.254 、35.2.偶尔会少一跳不过不受影响。
dingdangnao
2022-07-10 11:59:35 +08:00
试试自建 moon 呢?
zjsegzhf
2022-07-10 12:02:35 +08:00
@Marionic0723 我用腾讯国内主机作为 moon ,然后把路由器和我笔记本都加入了这个 moon 。

用 list peers 看了下还是 LEAF 。 但是在笔记本外网 ping 路由器的 zt 地址时,基本在 100ms-200ms 之间。

我有一个疑问是,我不设置路由表,我直接在笔记本外网访问路由器的 zt ip+路由器端口映射出来的 port ,为什么访问不了服务呢?
zjsegzhf
2022-07-10 12:06:44 +08:00
@luxiang1204 @dingdangnao
我用腾讯云主机作为 moon , 把路由器和外网笔记本加进去了。但是通过 list peers 看还是 LEAF 。 不过笔记本 ping 路由器在 100ms 到 200ms 之间了,比之前不通好太多了。

但是现在我还是无法在外网笔记本访问路由器下面的服务器上的服务。我在路由器加了端口映射,出来的端口是 30180 ,我在外网笔记本访问路由器 zt 地址加 30180 无法通。

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

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

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

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

© 2021 V2EX