Como configuro o configure keepalive no Centos7

2

Como e onde eu configuro o TCP keepalive no CentOS 7?

Minhas tentativas para encontrá-lo:

[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 ~]$
    
por user1032531 09.07.2017 / 02:23

1 resposta

1

O [TCP Keepalive HOWTO] ( link refere-se a dois métodos para configurar Keepalives TCP:

  • a interface procfs

  • a interface sysctl

Como você já encontrou, você pode atualizar os valores escrevendo um novo número no arquivo / proc correspondente, por exemplo:

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

ou via sysctl:

sysctl -w net.ipv4.tcp_keepalive_time=600

... embora nenhuma dessas alterações sobreviva a um reinício.

Para que a alteração persista nas reinicializações, você deseja colocar os valores em (ou por meio de) /etc/sysctl.conf . Eu não tenho um sistema CentOS na minha frente, mas é possível que o /etc/sysctl.conf esteja vinculado a um arquivo em /etc/sysctl.d/ .

Minha recomendação seria criar um arquivo em /etc/sysctl.d/ com conteúdo no formato:

net.ipv4.tcp_keepalive_time=7200
net.ipv4.tcp_keepalive_intvl=75
net.ipv4.tcp_keepalive_probes=9

Os arquivos sysctl são lidos em ordem numérica, portanto, se você quiser que seus valores tenham precedência, preste atenção ao aviso que você já viu:

To override only specific settings, add a file with a lexically later name in /etc/sysctl.d/ and put new settings there.

    
por 10.07.2017 / 14:58