问题描述
无法通过SSH连接Linux实例,访问该实例上的HTTP服务也出现异常。使用telent命令进行网络测试,发现请求连接被重置。
问题原因
本地网络通过NAT共享的方式上网,并且Linux系统相关内核参数配置异常。
解决方案
修改系统的内核参数以解决该问题。
- 依次执行如下命令,查看当前内核配置,确认该参数值为“1”。 cat /proc/sys/net/ipv4/tcp_tw_recycle cat /proc/sys/net/ipv4/tcp_timestamps
- 在
/etc/sysctl.conf
配置文件添加如下内容。 net.ipv4.tcp_tw_recycle=0 net.ipv4.tcp_timestamps=0 - 执行如下命令,使配置生效。 sysctl -p
net.ipv4.tcp_tw_recycle参数造成的连接不稳定
对net.ipv4.tcp_tw_recycle的说明是开启 TCP 连接中 TIME-WAITsockets 的快速回收
NAT设备后面的用户上网,发出的TPC/IP时间戳不连续,造成服务端丢弃连接。