前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MSS调整

MSS调整

原创
作者头像
雪人
发布2022-10-13 09:32:22
2.2K0
发布2022-10-13 09:32:22
举报
文章被收录于专栏:DataOps

前期一个项目与外部厂商联调时,由于外部某几个网络环节存在超时或不通的情况,排查到可能需要修改部分网络环节的MSS参数信息,以下对相关操作进行记录,留待后续参考。

0、背景知识

MTU: Maxitum Transmission Unit 最大传输单元

MSS: Maxitum Segment Size 最大分段大小

一般以太网MTU都为1500, 所以在以太网中, 往往TCP MSS为1460

1、修改方法1---ifconfig

代码语言:txt
复制
# 默认的设置
ifconfig ens192 mtu 1500
# 改为其他值
ifconfig ens192 mtu 1440

2、修改方法2---iptables

改变TCP MSS以适应PMTU(Path MTU)

iptables -A OUTPUT/INPUT/FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

设置mss

iptables -A OUTPUT/INPUT/FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1400

删除设置

iptables -D ,,,

---操作实例如下

iptables -A OUTPUT -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

iptables -A OUTPUT -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1400

iptables -D OUTPUT -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1400

3、修改方法3---失败

ip route change 10.110.63.0/24 dev ens192 proto kernel scope link src 10.110.63.134 advmss 1300

route -ne

4、抓包验证

tcpdump -i ens192 port 443

此时mss为1400,如下图所示

5、可能需先关闭网卡的 offload 功能

实测两个环境(都是CentOS 7.6),这个offload设置对于设置mss并无影响

tcp-segmentation-offload

generic-segmentation-offload

generic-receive-offload

关闭命令为

ethtool -K ens192 tso off

ethtool -K ens192 gso off

ethtool -K ens192 gro off

打开命令为

ethtool -K ens192 tso on

ethtool -K ens192 gso on

ethtool -K ens192 gro on

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0、背景知识
  • 1、修改方法1---ifconfig
  • 2、修改方法2---iptables
  • 3、修改方法3---失败
  • 4、抓包验证
  • 5、可能需先关闭网卡的 offload 功能
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档