Ultimamente dopo gii ultimi aggiornamenti di PfSense alla versione 2.1.5 (probabilmente anche nelle precedenti), mi sono imbattuto in un fastidioso problema legato alle connessioni SSH.
Di fatto, una volta collegato in ssh su un server, se lasciavo la sessione in idle per alcuni minuti (così a spanne attorno ai 5 minuti), mi ritrovavo disconnesso con il messaggio di errore “write failed broken pipe”.
cerando un po’ di documentazione online, ho trovato che il problema è legato al timeout delle states di pfsense. Fra le soluzioni che ho trovato, due facevano al caso mio.
1- Modifica del timeout delle states su PfSense
2- Modifica lato client della connessione SSH
La prima soluzione però presenta il problema che aumentando troppo i timeout delle state, si rischia alla lunga di riempire le states table, portando ad un sovraccarico del firewall e di conseguenza ad un collasso delle prestazioni.
La seconda soluzione invece è quella che ho ritenuto più idonea (nonchè più semplice e più immediata).
Procediamo come a seguire
– editiamo il file ~/.ssh/config con il comando
nano ~/.ssh/config
– aggiungiamo le seguenti righe
ServerAliveInterval 60 ServerAliveCountMax 1440
ServerAliveInterval dice al nostro client SSH di inviare un pacchetto di SSH keepalive ogni 60 secondi (che è sicuramente più basso del timeout delle states del firewall).
ServerAliveCountMax indica invece al nostro client quanti di questi pacchetti posso fallire prima che il nostro client decida di chiudere la connessione.
Ora possiamo effettuare tranquillamente i collegamenti ssh senza preoccuparci dei timeout.
Lascia un commento