通过公网NAT网关访问远端服务器概率性失败该如何处理?
弹性云服务器通过SNAT访问公网上服务器,出现TCP建链失败的情况,可通过以下方法进行排查。
- 执行以下命令,查看远端服务器是否开启了“tcp_tw_recycle”。
tcp_tw_recycle取值为1时,表示开启。
- 执行以下命令,查看远端服务器内核丢包数量。
cat /proc/net/netstat | awk '/TcpExt/ { print $21,$22 }'
如果ListenDrops数值非0,表示存在丢包,即存在网络问题。
处理方法:
方法一:修改远端服务器的内核参数
方法二:修改本地客户端的内核参数