Il traffico SSH sulla connessione openvpn si blocca quando eseguo il cat di un file


13

Ho una configurazione di connessione openvpn (versione 2.1_rc15 ad entrambe le estremità) tra due scatole gentoo usando chiavi condivise. funziona bene per la maggior parte. Uso mysql, http, ftp, scp su vpn senza problemi. Ma quando ssh dal client al server tramite la VPN, accadono cose strane. Posso accedere, posso eseguire alcuni comandi. Ma se provo a eseguire un'applicazione ncurses come top, o provo a cat un file, la connessione si interromperà e dovrò interrompere la sessione SSH.

Posso, ad esempio, eseguire "echo blah; echo.; Echo blah" e produrrà le tre righe di testo sulla fine della sessione ssh. Ma se eseguo "cat / etc / motd" la sessione si bloccherà nel momento in cui premo invio.

Ho compilato openvpn 2.1.1 sul mio mac e copiato sulla mia directory di configurazione dal mio client Gentoo. Le sessioni mac connesse e ssh hanno funzionato bene senza congelamento.

L'ho quindi compilato sul mio vecchio gentoo box (kernel 2.6.26) che sto ritirando a causa di un disco rigido morente, e ssh su di esso funziona perfettamente.

Perché non funziona sulla mia nuovissima scatola gentoo? Ho provato a compilare tre kernel diversi nel caso fosse, ma a parte questo non ci dovrebbero essere differenze tra le mie scatole gentoo più vecchie e più recenti a cui riesco a pensare.

Qualche suggerimento su cosa c'è che non va?


Nel mio caso, ssh, cat, tope HTTP lavorato tutti, ma scpnon l'ha fatto (che avrebbe mostrato al 100% trasferito e appendere lì). L'abbassamento dell'MTU a 1380 l'ha risolto.
Roger Dueck,

Risposte:


13

odora di problema mtu. prova ad abbassarlo come descritto nel manuale ufficiale o in questo post del blog .


2
Grazie. Avevo provato a eliminare l'MTU dell'interfaccia Ethernet senza risultati, ma l'aggiunta di "frammento 1400" al client e al server come nel post che hai citato ha funzionato alla grande. Mi chiedo perché la vecchia scatola gentoo abbia funzionato bene, ma la più recente no. Oh bene, riparato ora. Grazie
Pawz Lion,

Grazie. Questo risolto il mio problema. In ufficio ho la stessa identica configurazione senza problemi, ma a casa mia ha alcuni blocchi in casi. Se arriccia un URL di un file con un - in, si blocca. Senza un -, funziona: D, e se interrompo le righe lunghe nel file, funziona anche. Non ha senso, ma grazie per la soluzione.
Peter,

1
Nota l' opzione mtu-test di openvpn menzionata nel post di blog sopra collegato. Questo testerà empiricamente il mtu del tuo tunnel openvpn in modo da sapere quali valori usare quando si impostano frammento e mssfix e non si è solo indovinando. Ho visto molti post su Internet impostare mtu / fragment su 1400, 1350, 1200, ecc. Ma quando ho effettivamente eseguito mtu-test, openvpn ha determinato che l'MTU era 1189!
jdhildeb,

7

Questo comando lo risolve per me:

$ sudo ip link set dev tun0 mtu 1350 && echo ":)"

È possibile verificare le impostazioni di tun0 con

$ ip a s

Saluti!


1

Ho avuto un problema simile quando OpenVPN si stava connettendo oltre 3g con una cattiva copertura e perso la perdita di pacchetti. Il passaggio a TCP anziché a UDP ha risolto tutti i problemi che avevo dopo. Spero che questo ti aiuti.


L'esecuzione di una VPN su TCP comporta una serie di problemi. Risolvere il problema MTU e rimanere con UDP probabilmente funzionerà meglio dell'uso di TCP.
Kasperd,

Per OP cambiare solo MTU è probabilmente un suggerimento migliore che passare da TCP a UDP. Se hai un danno estremamente grave, tanto che OpenVPN non stabilirà nemmeno una connessione stabile, allora dovresti provare TCP invece di UDP. In casi 3G estremamente negativi, il passaggio a TCP era l'unica cosa che funzionava per me.
valentt,

1

Sì, è tutto su MTU.

Ma nel mio caso ho un problema ancora più strano. A casa, usando un client Windows OpenVPN si blocca. Ma nel mio ufficio funziona benissimo.

Ho provato a cambiarlo sul mio modem ADSL senza successo. Nel mio ufficio utilizzo un modem via cavo e altri ISP.

Dopo aver modificato l'MTU dell'adattatore TAP di Windows in 1200, funziona perfettamente. Qualcosa di alto, mi congelerebbe.

inserisci qui la descrizione dell'immagine


0

Ho usato tunnelblick invece di OpenVPN e non sono riuscito a trovare una configurazione per il valore MTU. Invece, ho trovato l'interfaccia per la VPN nell'output di ifconfig(nel mio caso lo era utun0) e ho impostato l'MTU per esso manualmente in questo modo:

ifconfig utun0 mtu 576

Dopodiché, la mia sessione SSH non si bloccherebbe più.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.