美文网首页
调整网卡MTU值

调整网卡MTU值

作者: 为心莳萝 | 来源:发表于2018-01-24 15:39 被阅读0次

问题:如果能ping通外网域名,但是无法访问,这种情况通常是因为网卡的mtu值过高。那么该如何查看网卡的mtu值以及判断mtu值是否过高呢?

一、查询网卡和网关的mtu值

1)查看本机的mtu值

windows下可以使用netsh命令查看接口的mtu值

netsh interface ipv4 show subinterfaces

Linux下可以使用ip a 或者 netstat -i查看mtu值
为了确认mtu值是否过高,需要检测网关的mtu值

2)检测网关mtu值

Windows下检测网关mtu值的命令如下

ping -l <size> -f <gateway>

linux下检测网关mtu值的命令

ping -s <size> -M do <gateway>

将上述命令中的gateway替换为网关地址,并不断的调整size的大小,找到最佳的mtu值,即为网关的mtu值。(示例:1500无法通过网关,1400可以通过网关,则说明最佳mtu值在1400和1500之间,可以进一步利用二分查找算法,找到最佳mtu值)

3)对比两者的mtu值

若本机的mtu值较大,则会导致无法访问外网;若本机的mtu较小,却没有完全利用网络性能。因此,设置最合适的本地mtu值即是让本地的mtu等于网关的mtu值。

二、设置合适的mtu值

设置本机的mtu为网关的mtu,windows下利用如下命令:

netsh interface ipv4 set subinterface <name> mtu=<size> store=persistent

linux 下的命令为:

ip link set <name> mtu <size>
或者
ifconfig <name> mtu <size>

将上述命令中的name替换为网卡名称,size替换为最佳mtu值。

三、验证

若网页能够正常访问,则调整mtu值完成。

相关文章

网友评论

      本文标题:调整网卡MTU值

      本文链接:https://www.haomeiwen.com/subject/xzluaxtx.html