业务场景
- 内网服务器端口正常监听,ping正常,偶现socket连接失败,没有回包
解决办法
- 关闭
net.ipv4.tcp_timestamps
关于net.ipv4.tcp_timestamps 详解
net.ipv4.tcp_timestamps 是Linux内核中开启TCP时间戳选项的内核参数,默认值为1(开启)。
开启后TCP报文会携带时间戳,核心作用是实现TCP窗口扩大和防止序列号回绕(PAWS),提升高带宽/高延迟网络的传输性能,同时避免大流量下的序列号冲突。
关键说明
• 取值:0(关闭)、1(开启,默认)
• 依赖:开启后才能使用tcpwindowscaling(窗口扩大),二者通常配合启用
• 轻微影响:每个TCP报文增加10字节开销,对常规网络无明显影响
• 排查场景:部分老旧设备/防火墙不兼容时间戳时,可临时设为0排查连接问题
临时修改(重启失效)
# 关闭
sysctl -w net.ipv4.tcp_timestamps=0
# 开启
sysctl -w net.ipv4.tcp_timestamps=1
永久修改(需重启/重载)
编辑/etc/sysctl.conf或/etc/sysctl.d/xxx.conf,添加/修改:
net.ipv4.tcp_timestamps=1
执行sysctl -p重载生效。
Linux运维笔记|自动化运维攻城狮

