什么是 tailscale
Tailscale 是一个开源的 VPN 服务器,它允许用户使用自己的互联网连接来创建一个安全的、无备案的 VPN 网络。
direct vs relayed connection
直连和中继网络的区别,如果建立连接后不同终端间的网络延迟很大,可检查下是否使用了中继节点(relay),考虑使用direct connection优化延迟
经测试,relay模式延迟300ms左右情况下,改用direct模式延迟在10ms左右
1 | # 查看当前节点,网络状态 |
relayed connection可能的优化:
在某个节点的防火墙放开UDP协议的41641端口
都没有公网ip的节点间延迟优化
偶尔使用还是ssh方便
ssh端口转发
上一级提到过,有公网ip的服务器可以通过开启UDP协议的41641端口建立direct connection,减少节点间的网络延迟,
在两台设备都没有公网固定ip的情况下,尝试在同样开启端口没有效果,延迟仍然很大(300~1000ms)
1 | # 查看网络情况 |
可以看到通过derp单程最短延迟在170ms+,roundtrip至少延迟300ms
此时如果有一个公网ip的节点,可以尝试将它作为中继节点,将其他节点连接到它上,这样其他节点的网络延迟就会变小
例如使用ssh的端口转发,a,b是没有固定公网ip的节点,c是公网ip的节点,c和a,c和b之间均可以建立direct connection,延迟很
小在10ms左右
通过ssh本地端口转发将本地请求通过c转发到b,这样a和b就可以直连了,参考这篇文章