如何在 Debian 中进行持久的 tcp-keepalive 设置

如何在 Debian 中进行持久的 tcp-keepalive 设置

我一直在寻找 tcp-keepalive 作为网络不活动的可能解决方案。正如共享的 -

http://www.tldp.org/HOWTO/TCP-Keepalive-HOWTO/overview.html

特别是这一部分 -

防止由于网络不活动而断开连接

我的问题实际上是 ISP 问题,但我确实希望将其最小化。

我已经做到并改变了——

  # echo 600 > /proc/sys/net/ipv4/tcp_keepalive_time

  # echo 60 > /proc/sys/net/ipv4/tcp_keepalive_intvl

  # echo 20 > /proc/sys/net/ipv4/tcp_keepalive_probes

但正如所分享的,这些只是针对本次会议的。对此有持久的解决方案吗?

答案1

您有一个持久参数,您可以将以下行添加到您的/etc/sysctl.conf

net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_intvl = 60
net.ipv4.tcp_keepalive_probes = 20

然后输入:

# sysctl -p

答案2

现代 Linux 系统允许您在/etc/sysctl.d.50-keepalive.conf在该目录中添加一个类似的文件。添加适当的 systemctl 值。

net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_intvl = 60
net.ipv4.tcp_keepalive_probes = 20

这些值将在下次重新启动时设置。确保您的间隔小于您正在通过的任何防火墙的超时期限。

使用该命令man sysctl获取有关如何使用 sysctl 检查和修改配置的信息。

相关内容