如何更改 Cisco Anyconnect VPN 的 MTU?

如何更改 Cisco Anyconnect VPN 的 MTU?

在我的 macOS 10.15 上,我必须使用Cisco AnyConnect 安全移动客户端 4.8连接到我所在大学的 VPN。

连接比平时慢得多,可能是因为 1300 的 MTU 设置得太低。

使用命令ifconfig,我获得有关连接的信息:

utun2: flags=80d1<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1300
    inet ###.###.##.## --> ###.###.##.## netmask 0xfffffe00 
    inet6 ###::####:###:###:###%utun2 prefixlen 64 scopeid 0x10 
    inet6 ###:####:#:#::### prefixlen 128 
    nd6 options=201<PERFORMNUD,DAD>

(IP 地址已用 # 匿名化)

我该如何改变这种情况?我在 Cisco 客户端的设置中找不到任何内容,甚至在配置文件中也没有找到。

更改系统设置没有用,通过终端我尝试了以下操作: sudo ifconfig utun2 mtu 1470

然后使用该命令显示正确的值ifconfig,但连接本身不会改变(速度和此处显示的 MTU 值都不会改变)https://www.speedguide.net/analyzer.php)。重新连接后,MTU 再次注册为 1300。

如何才能有效且永久地更改 MTU?

答案1

由于 VPN 封装会给数据包增加额外的开销,将最大传输单元降低到标准 1500 字节以太网帧 MTU 以下有助于确保封装的数据包不会被碎片化。

要检查数据包碎片,ping可以使用“不碎片”开关。

在我的 MacOS High Sierra 版本上ping,我可以使用以下选项指定扫描大小:

nevin% ping -g 1200 -G 1500 -D <remote host>

得出以下结果:

1472 bytes from x.x.x.x: icmp_seq=64 ttl=48 time=108.894 ms 556 bytes from 192.168.2.1: frag needed and DF set (MTU 1492) Vr HL TOS Len ID Flg off TTL Pro cks Src Dst 4 5 00 d505 f712 0 0000 40 01 2739 192.168.2.111 x.x.x.x

我的 en0 MTU 是 1500,但上面的响应是我的路由器的 MTU 是 1492。

“路径 MTU 发现”将尝试将数据包大小保持在两个主机之间任何链接的碎片阈值以下,但这在 ICMP 沿途未被阻止时效果最佳。(如果您刚开始丢失数据包而没有任何错误消息,则 ICMP 在某个上游点被阻止,这可能是导致速度缓慢的原因:远程主机可能正在发送大于本地 MTU 的数据包,但没有收到错误以告诉它缩减。

简而言之,尝试增加 MTU 的大小不会提高您的性能。

相关内容