请教 MTU 对 ZeroTier 和 TailScale 组网的影响(异地异网)

33次阅读

共计 749 个字符,预计需要花费 2 分钟才能阅读完成。

情况

今年春节在家里放了一个 armbian 盒子(Ubuntu),接入的移动宽带;在上海的电脑是 Windows,接入的联通宽带。两台机器都安装了 ZeroTier 和 TailScale(以下简称 ZT 和 TS)。

春节结束返回上海以后发现 ZeroTier 和 TailScale 都能 ping 通 armbian,但是 ssh 均无法连接。ping 延时都在 50ms 左右,说明都是直连。经过一番搜索,把目光投向了 MTU。通过在 Windows 下执行 ping x.x.x.x -l 1472 -f 指令(x.x.x.x 是组网工具分配的 IP),并逐步缩小 ICMP 数据大小,发现 ZT 网络内的上限是 1166,TS 的上限是 1252。算上 28 字节的 ICMP 头,即 ZT 的最大 MTU 为 1194,TS 的为 1280

执行 netsh interface ipv4 show subinterfaces 查看各个网卡的 MTU,发现电脑上 ZT 配置的 MTU 是惊人的 2800,TS 的为 1280。修改 ZT 网卡的 MTU 为 1194 后能使用 ZT 网内的 IP 地址连上 ssh,测试了一个网页服务也正常访问。但是 TS 这边,MTU 已经是正确的了,仍然无法 ssh 连接。

疑惑

我不是科班背景也不熟悉网络这块的内容,请教一下专业的朋友:

  1. 我理解,当数据来到 ZeroTier 的网卡时,还要在 ZeroTier 网络内拆包然后借助真实的网卡发送出去,这种情况下 2800 的 MTU 似乎也并无不可。但是实际表现来看稍大的 MTU 网络就不能工作,为什么会有这样的表现?

  2. TailScale 这边 MTU 已经是正确的了,但是仍然无法连通,希望大家能指点一下排查思路

  3. 题外:有没有什么推荐的书可以比较系统性地介绍一下类似的网络知识?不需要细致到能进行相应开发工作的程度,只需要能够在网络出现问题时能够定位大致方向和排查思路即可

提前谢谢各位~

正文完
 0