$ WORK最近安装了新的(NAT)防火墙设备。 从那以后,我得到了很多networking超时和中断,特别是对于那些需要服务器思考一点而没有响应的操作(svn update,rsync等)。 通过VPN的入站SSH会话也经常超时。
这清楚地表明我需要调整有问题的服务器上的TCP(和ssh)存活时间,以减less这些错误。
但是,我应该使用什么合适的价值呢?
假设我在防火墙的两端都有可以build立连接的机器,有没有办法测量这个防火墙的TCP连接的时间限制是什么?
从理论上说,我会发送一个逐渐增加间隔的包,直到连接丢失。 任何可能有帮助的工具(免费或开放源代码将是最好的,但我打开其他build议)?
电器不在我的控制之下,所以我不能只是得到它的价值,尽pipe我试图询问它现在是什么,如果我能得到它的增加。
我认为你只需要在其中一台机器上运行数据包捕获时,从一台机器连接到另一台机器。 做一个FTP,HTTP,SSH等会议,让它坐在那里,直到超时。
当你说“理论上,我会发送一个数据包,逐渐增加间隔,直到连接丢失”,但我不认为除了build立连接之外,你不需要做任何其他的事情。交通,让它坐下来,直到它超时。 超时会在空闲会话中发生,如果您将数据发送到另一端,可能会重置计时器,因为会话将不再空闲。
当超时时,查看从第一个数据包(三次握手开始)捕获的时间戳,直到连接终止(您可能看不到RST)。
禁止任何应用程序层超时(取决于您build立的连接types),这应该让您了解超时设置configuration的内容。
也许最简单的方法来知道正确的超时值只是要求networkingpipe理员告诉你新的NAT设备的configuration设置?
我尝试了一个SSH的出站连接,但我不得不做更多的事情,而不是让它坐在那里。 没有互动,它将无限期地显示有效,但是在一定的空闲时间之后它将停止接受input。
所以我试着跑:
#60中的n 90 90 180 180 240 300 600 900 1800 3600; 睡觉$ n && echo“Still r unning $ n“;完成 仍在运行60 还在跑90 仍在运行120 还在跑180 仍在运行240
然后闲置超过5分钟。 在这一点上,我按了一个键,得到:
连接到XXX由远程主机closures。 连接到XXXclosures。
我可能应该使用可能的时间间隔加上几秒钟,但我很确定超时是在240和300秒之间。
networkingpipe理员报告超时设置为60分钟,但显然不是这种情况。 远程端得到closures更快,但出站连接将只是挂在我身边。 这对于出站连接来说是非常令人沮丧的,远程端在响应之前必须考虑一下(svn update,ftp与大型远程目录等)