为达到最佳的传输效能TCP在建立连接时会协商MSS(最大分段长度,一般为1460字节)值,即MTU(最大传输单元,不超过1500字节)减去IP数据包包头20字节和TCP数据包头20字节,取最小的MSS值为本次连接的最大MSS值,Iptables下TCPMSS模块即用来调整TCP数据包中MSS数值。
在ADSL拨号环境中由于PPP包头占用8字节,MTU为1492字节,MSS为1452字节,如不能正确设置会导致网络不正常,可以通过TCPMSS模块调整MSS大小。
TCPMSS使用参数:
#https://www.haiyun.me
--set-mss value #设置特定MSS值
--clamp-mss-to-pmtu #根据MTU自动调整MSS
应用示例:
iptables -t mangle -I POSTROUTING -o pppoe-wan -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
#自动调整经pppoe-wan接口发出的TCP数据MSS