Pour modifier le délai telnet, vous devez modifier la valeur des paramètres tcp keepalive. Vérifions d'abord les valeurs par défaut du paramètre TCP keepalive.
# cat /proc/sys/net/ipv4/tcp_keepalive_time 7200 # cat /proc/sys/net/ipv4/tcp_keepalive_intvl 75 # cat /proc/sys/net/ipv4/tcp_keepalive_probes 9
Les deux premiers paramètres sont exprimés en secondes, et le dernier est le nombre pur. Cela signifie que les routines keepalive attendent deux heures (7200 secondes) avant d'envoyer la première sonde keepalive, puis la renvoient toutes les 75 secondes. Si aucune réponse ACK n'est reçue pendant neuf fois consécutives, la connexion est marquée comme interrompue. Nous devons donc changer la valeur de tcp_keepalive_time, pour éviter la déconnexion après 5 minutes, ces changements doivent être effectués côté client.
Le système doit avoir une valeur plus petite dans tcp_keepalive_time, si 7200 secondes correspondent à deux heures, 4 minutes correspondront à 240 secondes, le keepalive doit démarrer après quatre minutes d'inactivité du canal, puis envoyer des sondes à des intervalles d'une minute, par exemple :
# echo 240 > /proc/sys/net/ipv4/tcp_keepalive_time ( this value is below the 5 minutes) # echo 60 > /proc/sys/net/ipv4/tcp_keepalive_intvl # echo 20 > /proc/sys/net/ipv4/tcp_keepalive_probesRemarque :Ces valeurs sont à tester et à ajuster si besoin.
Rendre les changements permanents
Après avoir obtenu les bonnes valeurs, nous pouvons rendre les modifications persistantes après le redémarrage en ajoutant les valeurs des paramètres dans le fichier de configuration /etc/sysctl.conf :
# vi /etc/sysctl.conf net.ipv4.tcp_keepalive_time = [value] net.ipv4.tcp_keepalive_intvl = [value] net.ipv4.tcp_keepalive_probes = [value]