更多: zhilu jiaocheng
永久更改
获得正确的值后,我们可以通过在配置文件 /etc/sysctl.conf 中添加参数值来使更改在重启后持久化:
# vi /etc/sysctl.conf net.ipv4.tcp_keepalive_time = [value] net.ipv4.tcp_keepalive_intvl = [value] net.ipv4.tcp_keepalive_probes = [value]
要修改 telnet 超时,我们需要更改 tcp keepalive 参数的值。
让我们首先检查 TCP keepalive 参数的默认值。
# cat /proc/sys/net/ipv4/tcp_keepalive_time 7200 # cat /proc/sys/net/ipv4/tcp_keepalive_intvl 75 # cat /proc/sys/net/ipv4/tcp_keepalive_probes 9
前两个参数以秒表示,最后一个是纯数字。
这意味着 keepalive 例程在发送第一个 keepalive 探测之前等待两个小时(7200 秒),然后每 75 秒重新发送一次。
如果连续九次没有收到 ACK 响应,则连接被标记为断开。
所以我们需要修改tcp_keepalive_time的值,防止5分钟后断线,这些修改必须在客户端进行。
系统需要在 tcp_keepalive_time 中设置较小的值,如果 7200 秒是两个小时,4 分钟将是 240 秒,keepalive 需要在通道不活动四分钟后启动,然后以一分钟的间隔发送探测,例如:
# echo 240 > /proc/sys/net/ipv4/tcp_keepalive_time ( this value is below the 5 minutes) # echo 60 > /proc/sys/net/ipv4/tcp_keepalive_intvl # echo 20 > /proc/sys/net/ipv4/tcp_keepalive_probes
注意:这些值将被测试并在需要时进行调整。
日期:2020-09-17 00:13:12 来源:oir作者:oir