一、问题描述
前端是连接因特网的路由器,中间利用LINUX –IPTABLES搭建的防火墙,由PPPOE协议承担拨入功能,并开通NAT,后端是客户机,故障现象是当LINUX系统拨入VPN后,LINUX系统本身域名解析和网站浏览正常,NAT后端客户机出现域名解析正常但网站浏览失败。
二、问题解决
我们在给防火墙加入以下规则后,网络通信恢复正常。
iptables -A FORWARD -p tcp -m tcp--tcp-flags SYN,RST SYN -j TCPMSS--clamp-mss-to-pmtu
我们现在来看下这条规则的具体功能,-A 是增加,-FORWARD是要处理通过的数据包,-p,指定要审查tcp协议,审查内容是SYN, RST标志,TCPMSS,是指通过TCPMSS模块调整MSS的大小。
那么为什么通过调整MSS的大小就可以解决的网络通信的故障呢?
三、MSS和MTU
1、什么是TCP-MSS?
MSS: Maxitum Segment Size 最大分段大小,MSS就是TCP每次能够传输的最大数据分段。为了达到最佳的传输效能,TCP协议在建立连接时要协商双方的MSS值