CentOS 7でconfigure TCP keepaliveを構成する方法と場所は?
それを見つけるための私の試み:
[michael@devserver ~]$ cat /etc/sysctl.conf
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
[michael@devserver ~]$ cat /usr/lib/sysctl.d/* | grep keep
[michael@devserver ~]$ cat /run/sysctl.d/* | grep keep
cat: /run/sysctl.d/*: No such file or directory
[michael@devserver ~]$ cat /etc/sysctl.d/* | grep keep
[michael@devserver ~]$ cat /usr/lib/sysctl.d/* | grep keep
[michael@devserver ~]$ ls /proc/sys/net/ipv4/ | grep tcp_keep
tcp_keepalive_intvl
tcp_keepalive_probes
tcp_keepalive_time
[michael@devserver ~]$ cat /proc/sys/net/ipv4/tcp_keep*
75
9
7200
[michael@devserver ~]$ whereis tcp_keepalive
tcp_keepalive:[michael@devserver ~]$ whereis tcp_keepalived
tcp_keepalived:[michael@devserver ~]$ whereis keepalive
keepalive:[michael@devserver ~]$ whereis keepalived
keepalived:[michael@devserver ~]$ ls /etc | grep keep
[michael@greenbeantech ~]$
TCPキープアライブHOWTO は、TCPキープアライブを構成するための2つの方法を指します。
procfsインターフェース
sysctlインターフェース
すでに見つけたように、対応する/ procファイルに新しい番号を書き込むことで値を更新できます。次に例を示します。
_echo 600 > /proc/sys/net/ipv4/tcp_keepalive_time
_
またはsysctl経由:
_sysctl -w net.ipv4.tcp_keepalive_time=600
_
...これらの変更のどちらも再起動後も有効です。
再起動後も変更を維持するには、値を_/etc/sysctl.conf
_に(または経由して)配置する必要があります。私の目の前にはCentOSシステムがありませんが、/// sysctl.confが_/etc/sysctl.d/
_のファイルからリンクされている可能性があります。
私の推奨は、/ etc/sysctl.d /に次の形式の内容でファイルを作成することです。
_net.ipv4.tcp_keepalive_time=7200
net.ipv4.tcp_keepalive_intvl=75
net.ipv4.tcp_keepalive_probes=9
_
Sysctlファイルは番号順に読み取られるため、値を優先したい場合は、すでに見た警告に注意してください。
特定の設定のみを上書きするには、語彙的に新しい名前のファイルを/etc/sysctl.d/に追加し、そこに新しい設定を配置します。