假设:
A 机器: v4 full cone (nat1), v6 公网
B 机器: v4 port-restricted (nat2), v6 公网
C 机器: v4 symmetric nat (nat3), 没有 v6
现时使用 zerotier, A 可以分别跟 B 和 C 打洞直连, 但 B 跟 C 由于是 nat2/3 不能直连, 不知道 zerotier 或者其他内网穿透可以做到自动透过 A 中转, 使 B 和 C 能连得上? 但又不能使 A 中心化, 谢谢
1
mohumohu 2023-07-08 10:12:26 +08:00 via Android
如果有这个技术 zerotier 为啥不做
|
2
mmm159357456 2023-07-08 10:15:02 +08:00
tailscale derp
|
3
wslzy007 2023-07-08 11:45:09 +08:00
NAT2-NAT3 打洞直连,试试 SG ,github.com/lazy-luo/smarGate
|
4
SenLief 2023-07-08 12:30:38 +08:00 via iPhone
tailscale derp 中继服务,就是先利用中继建立链接,然后再尝试直连的。
|
5
EVJohn 2023-07-08 13:06:37 +08:00
headscale
|
7
hronro 2023-07-08 14:33:39 +08:00 1
我估计楼主的意思,是整个网络中的每一个节点,都可以作为中继节点,然后网络中任意两个节点打洞不成功的时候,会自动寻找"最优"的节点作为中继节点.
这个据我所知,目前还没有哪个产品能做到. |
8
totoro625 2023-07-08 14:46:07 +08:00 1
曲线救国:A 机器因为是 NAT1 ,可以打洞获取公网 ipv4
参考资料: https://github.com/heiher/natmap/wiki/wireguard 此时把 A 机器当做公网中转服务器即可 |
9
wslzy007 2023-07-08 18:50:20 +08:00
如果使用 SG ( github.com/lazy-luo/smarGate ),简单配置如下(无法自动):
场景:在 B 上 x 端口,通过 A 访问位于 C 内网的 ip1:porty 步骤: 1 、A 、B 、C 上分别安装 SG 服务端 2 、在 SG 客户端配置,A:z 端口到 C 内网 ip1:porty 端口的服务端间映射:A:z 端口 ---> C 内网 ip1:porty 3 、在 SG 客户端配置,B:x 端口到 A:z 端口的服务端间映射,B:x 端口 ---> A:z 端口 4 、在 B 上,访问:localhost:x 即可通过 A 访问到 C 内网 ip1:proty |
10
sofukwird 2023-07-08 23:42:49 +08:00 via Android
tinc 可以做到全节点自动路由, 要去中心化的话多建几个 A 节点就行
|
11
sbilly 2023-09-03 16:09:13 +08:00
想法很好,实际不太可用。类似于 BT 最终还是需要中心化的超级节点
|