先说下现象,两台电脑单独插猫上,网游登录、组队、商城全都顺畅,下载速度也满速。但把网线从猫换到路由器LAN口,游戏客户端能启动,登录界面转圈,然后提示“无法连接服务器”或者“连接超时”,但浏览器开百度、刷淘宝、看B站视频都正常。这情况太典型了,很多人第一反应就是路由器被限制或者游戏被封IP,其实都不是。
问题核心在于路由器的MTU值设置,通信术语叫最大传输单元,通俗说就是数据包的大小限制。猫直连时,电脑和运营商设备之间自动协商出一个合适的MTU值,比如1492或者1480,这是PPPoE拨号环境的标准值。但路由器默认设置经常是1500,这是以太网的通用标准值,可对于需要额外封装PPPoE协议的宽带线路来说,1500就太大了,数据包会被分片或者直接丢弃。
游戏和网页的区别就在这,网页打开,图片、文字内容都是一小块一小块数据,就算数据包被分片,TCP协议会自动重组,顶多慢一点,但能加载出来。游戏不一样,特别是竞技类网游,服务器和客户端之间有频繁的心跳包和实时位置同步,这些数据包往往很大,可能是1400多字节,如果MTU设置为1500,路由器把包拆成两段传输,游戏服务器那边收不齐就会丢包,客户端就认为连接断了。百度那种简单网页,返回的数据包小,刚好塞进1500字节的包里头,自然不受影响。
怎么解决?进路由器后台,找到WAN口设置或者网络设置,把MTU值从1500改成1492,保存重启。如果1492还不行,就试1480,有些地区的运营商线路可能还需要更小。改完再进游戏试试,大概率就通了。这是个笨办法,得一个个试,但最管用。
我当时改完1492,游戏秒连,心里那个舒服。后来又发现一个问题,家里光猫是桥接模式的,路由器负责拨号,MTU影响最大。如果你家光猫是路由模式,路由器只是当交换机用,那MTU的问题就不大,可能是另外的原因。但绝大多数家庭宽带都是光猫拨号,路由器再接上去做NAT,这时候MTU设置就关键了。

另外还有一种情况,路由器开了IPv6,但游戏只支持IPv4,或者路由器防火墙策略拦截了UDP端口,也会导致游戏打不开。这时可以进路由器后台,把防火墙等级调低,或者开启DMZ主机,指向你玩游戏的那台电脑IP,再试试。DMZ相当于把电脑直接暴露在公网,能解决很多端口冲突问题,但注意安全,玩完可以关掉。
还有个细节,有些路由器有“游戏模式”或者叫“NAT加速”的选项,这个功能能提升连接稳定性,但有时候反而会出问题。如果你改完MTU还是连不上,可以去路由器后台把这个功能关闭,然后手动指定DNS为114.114.114.114或者223.5.5.5,重启路由器再试。
折腾到最后,我发现其实很多路由器默认设置就是有问题,特别是那些老款或者山寨品牌的,厂家固件写得不严谨,MTU值没有根据拨号方式自适应。刚买来的路由器,插上能上网,网页能开,就觉得没问题,结果一玩网游就露馅。所以建议新手拿到路由器第一件事,先把MTU改成1492,别等出问题再查。
说到底,猫直连是电脑直接和运营商设备通信,没有中间那层路由转换,数据包大小协商得刚刚好。路由器多了个NAT转换,数据包多封装了一层地址信息,如果MTU不调小,就像大车走窄桥,要么卡住要么掉下去。游戏要求高,一点丢包都不行,网页抗造,所以才有这种“搜索引擎能开、游戏进不去”的诡异现象。
如果你的电脑也是这个情况,别急着换路由器,先改MTU试试,五分钟就能解决。改完以后顺便把路由器固件升级一下,很多厂家修了这种问题。要是还不行,就换个支持自适应MTU的好点的路由器,一百多块的就行,别买那种几十块的杂牌,稳定性真的差很多。