ssh远程执行命令卡住 使用vim、vi、cat等命令,或者在执行shell脚本时,都会莫名的卡住

通过IPsec隧道发送的网络数据包经过加密,然后封装在外部数据包中,以便进行路由。因为封装的内部数据包本身必须适合外部数据包的MTU,所以其MTU必须更小。

网关MTU

您必须配置本地VPN网关,将其使用的MTU限制在1360字节之内,建议MTU设置为1360字节。

对于TCP流量,在TCP协议收发双方通信数据时,会协商每一个报文段所能承载的最大数据长度(MSS)。我们建议您将本地VPN网关的TCP MSS设置为1359字节,便于TCP数据包的封装和传输。

 

配置好网络,使用XShell远程连接都没有问题。但是在后续工作中发现,使用vim、vi、cat等命令,或者在执行shell脚本时,都会莫名的卡住,使用Ctrl+C也没有任何反应。在使用git拉取仓库也无法连接到git仓库地址。只能强制断开后重新连接。

首先,我们检查了服务器配置,但是新服务器并没有做过多的配置,关闭selinux和firewalld后也没有任何效果。

其次,我们怀疑是否是网络中的交换机或者防火墙的问题,但是检查后也不是这些问题。

最后,通过网络抓包,发现该服务器丢包非常严重,并且我们发现在执行shell脚本的时,虽然使用的XShell软件卡主没有反应,但是该shell脚本在本地是执行完成的。这时让我想到了MTU值,默认网卡MTU为1500,使用带包ping功能发现当包小于1314时可以正常ping通。

总结,mtu默认1500,导致ipsec丢包了。把路由器上的mtu设为1360以内,即可。

您必须配置本地VPN网关,将其使用的MTU限制在1360字节之内,建议MTU设置为1360字节。

-----------------------------------------------------------------------------
交流QQ号:1175372067
电话:18551717618(同微信)
元几科技.软件3部
迈开步伐去探索
南京元几科技有限公司
元几社区: https://www.cnblogs.com/colin-vio
元几官网: http://www.yuanji.tech
-----------------------------------------------------------------------------
原文地址:https://www.cnblogs.com/colin-vio/p/14859950.html