23.5 Mancata interruzione della connessione TCP dopo un logout anomalo

Può accadere che un server Linux OES non riesca a rilevare un host client che è stato arrestato bruscamente a causa del crash di una workstation o di un'interruzione dell'alimentazione. Tuttavia, la connessione rimane attiva per il timeout di default (da 12 a 15 minuti circa) per poi essere annullata. Se le connessioni simultanee sono state impostate su 1, prima di eseguire nuovamente il login si consiglia di terminare la connessione manualmente o di attendere il timeout previsto. Questa situazione si verifica quando il processo watchdog non riesce a terminare la connessione come dovrebbe. Pertanto, se le connessioni simultanee sono impostate su 1 e la connessione non viene annullata dal processo watchdog, gli utenti non possono eseguire il login. Nel kernel di Linux sono disponibili tre parametri per modificare la modalità in cui le probe keepalive agiscono sul lato server. Utilizzarli per implementare una soluzione alternativa a livello di TCP.

I parametri sono disponibili nella directory /proc/sys/net/ipv4/ .

Modificare questi tre parametri in modo che non venga generato un eccessivo traffico di rete aggiuntivo e che il problema sia comunque risolto. Di seguito è riportata una modifica esemplificativa (tempo di rilevamento di 3 minuti):

NOTA:utilizzare questo parametro con cautela evitando di impostare connessioni che sono già valide.

Le impostazioni vengono applicate subito dopo la modifica dei file. e non è necessario riavviare alcun servizio. Tuttavia, le impostazioni sono valide solo per la sessione attuale. Una volta riavviato il server, vengono ripristinate ai valori di default.

Per rendere permanente l'impostazione (anche dopo il riavvio), effettuare le operazioni seguenti:

Aggiungere le voci seguenti a /etc/sysctl.conf.

Si consiglia di utilizzare queste impostazioni soltanto se tutti i client e i server sono connessi a una LAN.