你也可以很懂Panabit
Panabit小课堂专治“疑难杂症”,解决近期大家棘手的各种问题。每周定期在这里与大家见面,将一周内大家反馈最多的问题拿出来分析&解答。
遇到问题不要怕,Panabit为你来解答。
问题NO.14 光纤和ADSL都正常,网页却打不开,怎么办?

问题现象
使用先NAT后路由(光纤上行ADSL下行)会打不开网页,确定光纤与ADSL都没问题。
这个问题在用户使用过程中较为普遍,在这里将排查与解决方法分享给大家。
排查与解决方法
故障排查过程:
1、复现现象,确定光纤与ADSL都没问题,而且也证实上行走光纤下行走ADSL是可以的,但在PA上做策略后打不开网页。
2、观察有问题时的数据,ping和DNS解析都是正常的,单网页打不开;观察到会话的流量都是有上下行的,说明数据已经到WAN口并且转发给了用户。初步判断数据包是在到客户端的过程中丢掉了。
3、通过用户反馈得知,经过三层上来的用户没问题,只有用户网关直接在PA上用户遇到问题。在PA上起一个PPPoE网关,测试客户机拨号到PA上,测试得到数据全部正常。说明流量转发都是正常的。
4、考虑为什么用PPPoE就可以,用LAN接口却不行?PPPoE接口和LAN接口的不同就是PPPoE多一层ppp的封装,所以MTU比LAN接口要小一些,那么同样的会话TCP的mss就会小一些。
结合之前的测试,ping和DNS解析都没问题,但是打不开网页。说明很可能是在TCP的会话时才会有问题。
5、观察使用PPPoE时候的正常数据,TCP会话的mss最大为1436;观察使用LAN接口时的不正常数据,TCP会话的mss最大为1456。

6、ADSL的MTU是1480,光纤的MTU是1500,LAN接口的MTU为1500,PPPoE接口的MTU是1480, 当用户拨号到PA上的时候,接入的MTU,正好比不正常的情况下小了20,而mss也刚好小了20。所以定位为mss不一致导致的。
7、修改LAN口的MTU为1480,测试,数据恢复正常。
为何会出现mms不一致的现象?
正常来说mss是自动更新,更新原则是根据路由线路和LAN口的MTU。这个更新机制单独使用光纤,或者单独用ADSL都没问题,但是在这里上行走光纤,下线走ADSL策略,上行线路是光纤,MTU为1500,LAN口的MTU也是1500,所以认为内外接口的MTU都是1500,但是ADSL线路的MTU是1480,这样就导致了TCP的mss不一致。
结论
这个问题是由于tcp的mss不一致导致的。所以用户在遇到类似问题时,需重点观察数据的mss。
值得注意的是:
在Panabit做网关时,策略路由的操作一定要慎重。
PA小课堂,我们下期,不见不散!