[求助][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 目录了。(不知道行不行?)

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

13289 次点击
所在节点    宽带症候群
55 条回复
CKR
2022-07-10 12:12:20 +08:00
zerotier 没公网 v4 的话感觉很不稳定。
之前尝试过将两个宽带组网,两边都是一样的配置没有公网 v4 的一边连通性极差只有偶尔能连上,有公网那边就很流畅。
最后受不了就用 socat 做了个 ipv6 的端口转发,先通过代理连过去再访问内网的服务,或者直接映射局域网内的端口也行。
zjsegzhf
2022-07-10 12:14:21 +08:00
@luxiang1204 @dingdangnao @Marionic0723
我登到了路由器后台上,用 netstat -an | grep 30180 看了下,路由器并没有监听这个端口。。 但是我在路由器界面是做了端口转发的,外部端口 30180 到内部 30180 。。。
lazyyz
2022-07-10 12:25:18 +08:00
OP 既然已经在服务器上安装了 zerotier ,那为什么要在路由器上安装 zerotier ,再转发一遍?笔记本通过 zerotier 直接访问服务器不就好了么?
时延高看一下是不是 moon 没有生效导致没有直连
zjsegzhf
2022-07-10 12:28:01 +08:00
@lazyyz 因为我路由器下有多个服务器,我并不想在每个服务器上都去装一遍 zerotier , 我最终的目标是只在路由器上装 zerotier ,能在外网访问路由器下的所有设备。 现在在其中一台服务器上装 zerotier 只是为了测试
Z0dVmSoDcLSO49S4
2022-07-10 12:31:52 +08:00
@zjsegzhf 试试这个呢`zerotier-cli orbit $MOON_ID $MOON_ID`,$MOON_ID 是你自建的 moon 节点 id 。https://docs.zerotier.com/zerotier/moons/
zjsegzhf
2022-07-10 12:39:48 +08:00
@luxiang1204 嗯,我是参照这个文档加的 moon , 在我路由器和外网笔记本都加了这个 moon ,ID 我看文档应该是之前创建 moon 节点的时候 zerotier-idtool genmoon moon.json 生成出来的 id , 加了后我在外网笔记本和路由器 listpeers 都能看到那个 moon 节点是 moon , 只是外网笔记本和路由器依然还是 LEAF 。
不过这个延迟现在倒不是重点了, 因为延迟现在在 100-200ms ,主要是还是没法访问路由器上端口映射的服务。。
Marionic0723
2022-07-10 12:47:22 +08:00
@zjsegzhf 你路由器系统是 Openwrt 吗? Openwrt 默认会把 ZT 的网络视为局域网,不需要设置端口转发就可以直接使用,监听的地方要输入 0.0.0.0 而不是 127.0.0.1 。
如果有 bug 可以把 zerotier 的设备,比如我的叫"ztwdji3dfc"桥接到局域网接口上,不过这样同一 ZT 网络的设备如果开了 DHCP 就会收到路由器下发的 IP 地址了。
zjsegzhf
2022-07-10 12:49:55 +08:00
@Marionic0723 不是的,我的是华硕的 AC66U 刷了梅林。
“Openwrt 默认会把 ZT 的网络视为局域网,不需要设置端口转发就可以直接使用,监听的地方要输入 0.0.0.0 而不是 127.0.0.1 。” 你的意思是直接访问服务的局域网 IP+端口,只要服务监听的是 0.0.0.0 , 但是这得在 zt 上先配好路由对吧?
Marionic0723
2022-07-10 12:56:47 +08:00
@zjsegzhf はい,是的。如果两方都有加入网络的 zerotier ,路由这一步都可以省略了。
梅林的 ZT 貌似本身就有 bug ,我之前在斐讯 K3 上刷的梅林,开 ZT 没两天就掉线了,再开启就说获取不到 IP 地址,然后强制关闭。你可以先在虚拟机跑一个 openwrt ,装上 zt 研究下。
zjsegzhf
2022-07-10 13:06:53 +08:00
@Marionic0723 多谢, 我远程到我老家的电脑,在上面装了个 zt 加进来,在 zt 上加了路由,是可以访问我的服务的。

我外网笔记本检测 NAT 是 Symmetric , 老家电脑是 Port-Restricted Cone , 不知道有没有影响。
在老家电脑 ping 我路由器底下的服务器的局域网 ip (服务器并没有装 zt ,在 zt 上配了路由),延迟在 20ms 以内。在我外网笔记本 ping ,直接不通。。
chouxiang99
2022-07-10 13:15:20 +08:00
考虑一下自建 moon 服务器 我建之前 400ms 延迟 弄了 moon 延迟 40
zjsegzhf
2022-07-10 13:17:09 +08:00
@Marionic0723 再次更新。 没做啥操作,过了会再在外网笔记本 ping 路由器底下的服务器的局域网 ip ,通了,延迟在 200ms 左右,访问服务也通了,起码能用了。。 我再研究研究看怎么提高下速度。
zjsegzhf
2022-07-10 13:26:21 +08:00
@chouxiang99 我描述下我建 moon 的过程,看看是不是我建 moon 有问题。
我参照 https://docs.zerotier.com/zerotier/moons/这个文档建的。
我在国内腾讯云主机先安装 zt ,并加入 network 。然后参照文档生成 moon.json ,修改 stableEndpoints 里加上我的腾讯云主机公网 IP 和端口, 并通过 zerotier-idtool genmoon moon.json 生成.moon 文件并放入 moons.d 目录下,并修改了目录和文件的属主为 zerotier-one ,然后重启 zerotier-one 服务。

然后在外网笔记本和家里电脑和路由器通过 zerotier-cli orbit 加入 moon 节点,然后 list peers 能看腾讯云主机节点类型是 moon ,然后我用 zerotier-cli peers 命令查看,第 5 列<link>下都是 DIRECT , 这代表已经是 p2p 了吗?
7RTDKSAK
2022-07-10 13:48:20 +08:00
家里开 openvpn 服务端,然后 frp 把端口暴露到 vps 上?
Laitinlok
2022-07-10 14:07:34 +08:00
@7RTDKSAK 不行 samba 沒有加密的
pendulum
2022-07-10 14:10:59 +08:00
还是用 openvpn 吧,挺方便的,如果 IP 是境外的就不要用 UDP ,容易丢包
hbytw1
2022-07-10 14:48:49 +08:00
国内还是考虑自建 planet 吧,moon 不行,planet 完美解决。
nexply1920
2022-07-10 14:50:23 +08:00
推荐 headscale 自建 Tailscale 服务器
基于 WireGuard
BeautifulSoap
2022-07-10 14:52:54 +08:00
@Laitinlok 但 openvpn 是加密的,安全性没任何问题
BeautifulSoap
2022-07-10 14:57:32 +08:00
看了上面内容,zerotier 这么折腾的吗?

如果 lz 不想折腾,那就把家里的 openvpn 通过 frp 暴露出去,只要连上 openpvn 就能访问家里内网

或者 tailscale 了解下?简单无脑异地组网开箱即用。你既然有云服务器可以自建个 derp 节点改善延迟。并且 tailscale 还支持 router ,可以在任何一台运行了 tailscale 的机子上使用内网 ip 直接访问

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

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

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

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

© 2021 V2EX