我的设想是这样的:
假设两个 Peer 都在 NAT 下,现有一个用于认证的服务器,拥有公网 IP ,此时是否能让这两个 Peer 和公网服务器构成一个局域网( VPN ),并且让该服务器内任意 Peer 之间通信都采用 P2P 方式交换数据(数据不经过认证服务器)?
类似的实现有 Tailscale 等,但由于 Tailscale 认证服务器在国外,所以国内访问稳定性存在一定的不可用的情况。
自建的方案有 nps ,但很不幸我这里测试 nps 存在很多 bug ,不具备无人值守的基本要求。
于是是否存在类似成熟的方案,要求自建认证中转服务器,且满足上述设想?
在 Google 上找了一圈没有找到可用的解决方案,这里指的成熟方案指有大概的搭建方法(文档)而并非仅停留在理论阶段。
1
Clarke 2022-02-15 19:34:15 +08:00
Zerotier ,服务器做 moon 行吗?
|
2
vonsy 2022-02-15 20:07:42 +08:00 1
|
3
zagfai 2022-02-15 20:32:25 +08:00
Tailscale 我还真没试过不可用。。。
|
4
chenall 2022-02-15 20:38:11 +08:00 via Android
zerotier +1
|
5
wtks1 2022-02-15 20:39:27 +08:00 via Android
n2n ?
|
6
jiangyang123 2022-02-15 20:39:28 +08:00 1
n2n ?
|
8
LxnChan OP @wtks1 @jiangyang123 n2n 是啥啊
|
9
lithiumii 2022-02-15 20:40:54 +08:00 via Android
自部署 Zerotier 的根
其次是自部署 Zerotier 的 Moon |
11
happyn 2022-02-15 22:11:12 +08:00
|
12
terrancesiu 2022-02-15 22:12:06 +08:00 via iPhone
动手就 wg,ipip 隧道,gre ,然后静态路由。
|
13
Kiriya 2022-02-15 22:48:35 +08:00
蒲公英貌似能达到要求
|
14
LxnChan OP @happyn 我大概看了一下,比较感兴趣,但是贵站提供的服务可以在两侧均为 NAT 的情况下 P2P 传输数据吗(不在同一局域网),感觉像是如果不在同一 NAT 下需要通过服务器中转。
|
15
LxnChan OP @terrancesiu 已经在尝试了
|
17
thisismr2 2022-02-16 01:39:32 +08:00 via iPhone
and 我们的 https://zonenet.io
|
18
yaoyao1128 2022-02-16 09:31:47 +08:00 via iPhone
n2n 以及 zerotier 还有 tinc 你可以尝试一下是否可以 不过你需要看打洞之类的是否成功
tailscale 本质就是 WireGuard 所以 wireguard 也可以尝试 以及 无人值守我建议用花生壳之类的弄出一个至少自己搭建的崩溃了依然可以连接的穿透 比如 ilo ipmi 之类的 或者 rdp 或者 ssh 之后再考虑无人值守 |
19
GavinHua 2022-02-16 09:41:48 +08:00
我的经验哈,
netmaker 在移动 4G 网络下打洞失败,又没有 TCP 中转。 Zerotier 自建的网络控制器,moon ,能看到之前不通的场景下走 TCP 中转,可以使用了。但是中转速度比较慢,不知道是走的官方的服务器中转的还是走的我自建的中转的。 n2n 貌似没有太好的 GUI ?对非技术人员不友好,不好推广。 |
20
missdeer 2022-02-16 13:40:21 +08:00
看你两端 NAT 是什么类型的
像我家里是端口限制锥型,公司是对称型的,就打不通,只能中转 |
21
happyn 2022-02-16 14:12:00 +08:00
@LxnChan 如楼上所说,这个要看两端 NAT 的类型;
NAT 根据 ip 以及端口的映射策略不同,可以分为 1.Full Cone NAT - 完全锥形 NAT 2.Restricted Cone NAT - 限制锥形 NAT 3.Port Restricted Cone NAT - 端口限制锥形 NAT 4.Symmetric NAT - 对称 NAT 两端会有多种组合;有的家用宽带网络本身就是运营商有一层 NAT ,然后家用路由器又一层,情况就更复杂了; 我只能说做的好的 UDP 穿透软件一般会尝试尽可能多的打洞策略;就我的经验来看,一般家用宽带大多是 Cone NAT ,两端都是家用宽带的情况下打洞成功率比较高; 4G 网络一般是对称型 NAT ,不能打洞;一端家用宽带,一端 4G ,打洞成功率也很低; 不能打洞走 P2P 的时候数据会走服务器中转,happyn.cn 提供了中转服务器,速度还可以; happyn.cn 同一用户所有接入网络的各个节点间通信前会约定一个密钥,先在本地加密再传输,杜绝了被抓包泄露数据的可能性,安全是不用担心的; |
22
xuanzc880 2022-02-16 16:02:14 +08:00
我用的是 N2N,最新的 3.0 版本的 N2N 挺好用的.
|
23
guanzhangzhang 2022-02-17 09:51:50 +08:00
如果两个都有 openwrt ,推荐 wireguard+udp2raw
|
24
joesonw 2022-02-17 11:45:06 +08:00
wireguard 啊, 就是用来做 mesh vpn 的. 任意一个节点是公网就可以.
|
25
zyq2280539 2022-02-17 13:06:24 +08:00
zerotier +1 + 公网 ip 自建 moon
|
26
zzc1368129224 2022-02-18 15:23:20 +08:00
N2N 好用,但是对 NAT 类型有要求
如果满足要求,打洞成功后是直连。 如果不满足要求,需要中转流量(速度受中转节点的带宽限制)。 |
27
qzydustin 2023-03-25 08:59:56 +08:00 via iPhone
@happyn happyn 相比 n2n 有个缺陷,不支持 n2n-routing 功能,无法通过一个设备转发局域网所有流量。
|
29
happyn 2023-03-25 09:29:43 +08:00
|