我一直在寻找 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 检查和修改配置的信息。