业务系统无法访问?MTU值设置错误是元凶!
在日常的网络运维工作中,业务系统无法访问是常见问题之一。本文记录了一种常见的导致业务系统无法访问的问题:网络MTU值设置错误。
问题描述
2023年10月在某单位遇见用户反馈业务系统无法访问问题,经现场检查如下:
-
1、ping 业务系统网络,正常无丢包;
-
2、telnet 业务系统端口,可以 telnet 通;
-
3、浏览器访问业务系统,页面刷新2分钟左右,提示无法访问;
-
4、现场其他楼层访问正常;
-
5、访问业务系统tomcat错误url,可以提示 tomcat 404 页面;
-
6、F12 检查应用请求发现有302重定向请求
问题解决
经和现场网络工程师沟通是否存在网络问题,答复 mtu 值错误或者太小,一些tcp过大无法发出去。
Windows解决办法:
使用cmd执行以下命令,修改mtu值:
1netsh interface ipv4 set subinterface "本地连接" mtu=1490 store=persistent
- 本地连接为当前上网网卡名称,根据实际情况进行修改
可以正常访问业务系统
知识补充
1netsh interface ipv4 set subinterface "本地连接" mtu=1490 store=persistent
该命令将本地连接的MTU值设置为1490。MTU是最大传输单元(Maximum Transmission Unit)的缩写,表示数据包的最大长度。如果数据包的长度超过MTU,则需要拆分成多个数据包才能通过网络发送。拆分数据包会增加网络延迟和丢包率,从而影响网络性能。
设置本地连接的MTU值可以提高网络性能。如果您在使用本地连接时遇到网络速度慢或丢包等问题,可以尝试将MTU值设置为较小值。
该命令的参数说明如下:
- netsh interface ipv4 set subinterface:设置网卡的MTU值。
- "本地连接":本地连接的名称。
- mtu=1490:MTU值为1490。
- store=persistent:将设置保存为永久性设置。
以下是使用该命令的示例:
1netsh interface ipv4 set subinterface "本地连接" mtu=1490 store=persistent
该命令将本地连接的MTU值设置为1490,并将设置保存为永久性设置。
您可以使用以下命令查看本地连接的MTU值:
1netsh interface ipv4 show subinterface
该命令将显示本地连接的所有信息,包括MTU值。
如果您在使用该命令时遇到问题,可以尝试以下方法:
- 确保您使用的是正确的命令语法。
- 以管理员身份运行命令提示符。
- 重启计算机。