![如何在 Debian 中进行持久的 tcp-keepalive 设置](https://linux22.com/image/121711/%E5%A6%82%E4%BD%95%E5%9C%A8%20Debian%20%E4%B8%AD%E8%BF%9B%E8%A1%8C%E6%8C%81%E4%B9%85%E7%9A%84%20tcp-keepalive%20%E8%AE%BE%E7%BD%AE.png)
我一直在寻找 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 检查和修改配置的信息。