Le trafic SSH sur la connexion openvpn se bloque lorsque je cat un fichier

13

J'ai une configuration de connexion openvpn (version 2.1_rc15 aux deux extrémités) entre deux boîtes gentoo à l'aide de clés partagées. cela fonctionne très bien pour la plupart. J'utilise mysql, http, ftp, scp sur le vpn sans aucun problème. Mais quand je passe du client au serveur via le VPN, des choses étranges se produisent. Je peux me connecter, je peux exécuter certaines commandes. Mais si j'essaie d'exécuter une application ncurses comme top, ou si j'essaye de récupérer un fichier, la connexion va s'arrêter et je devrai couper la session ssh.

Je peux, par exemple, exécuter "echo blah; echo.; Echo blah" et il affichera les trois lignes de texte pendant la session ssh. Mais si j'exécute "cat / etc / motd", la session se fige dès que j'appuie sur Entrée.

J'ai compilé openvpn 2.1.1 sur mon mac et copié sur mon répertoire de configuration depuis mon client gentoo. Les sessions mac connectées et ssh ont bien fonctionné sans se bloquer.

Je l'ai ensuite compilé sur mon ancienne boîte gentoo (noyau 2.6.26) que je retire en raison d'un disque dur mourant, et ssh dessus fonctionne également parfaitement.

Pourquoi échoue-t-il sur ma toute nouvelle boîte Gentoo? J'ai essayé de compiler trois noyaux différents au cas où ce serait le cas, mais à part cela, il ne devrait pas y avoir de différence entre mes anciennes et mes nouvelles boîtes gentoo auxquelles je peux penser.

Des suggestions sur ce qui ne va pas?

Pawz Lion
la source
Dans mon cas, ssh, cat, topet HTTP tous travaillé, mais scpn'a pas (il montrerait 100% transférés et accrocher là - bas). Abaisser le MTU à 1380 l'a corrigé.
Roger Dueck

Réponses:

13

sent le problème de mtu. essayez de le baisser comme décrit dans le manuel officiel ou dans cet article de blog .

pQd
la source
2
Merci. J'avais essayé de supprimer le MTU de l'interface Ethernet sans résultat, mais ajouter "fragment 1400" au client et au serveur comme dans le message que vous avez mentionné fonctionnait très bien. Je me demande pourquoi l'ancienne boîte gentoo fonctionnait bien, mais pas la nouvelle. Eh bien, réparé maintenant. Merci
Pawz Lion
Merci. Cela a résolu mon problème. Au bureau, j'ai exactement la même configuration sans aucun problème, mais chez moi, il y a quelques accrochages dans les cas. Si je recourbe l'url d'un fichier avec un -, il se bloque. Sans -, cela fonctionne: D, et si je romps de longues lignes dans le fichier, cela fonctionne aussi. Cela n'a aucun sens, mais merci pour la solution.
Peter
1
Notez l'option mtu-test d' Openvpn mentionnée dans le blog ci-dessus. Cela testera empiriquement le mtu de votre tunnel openvpn afin que vous sachiez quelles valeurs utiliser lors de la configuration de fragment et mssfix et que vous ne devinez pas seulement. J'ai vu beaucoup de messages sur le paramètre Internet mtu / fragment à 1400, 1350, 1200, etc. Mais quand j'ai réellement exécuté mtu-test, openvpn a déterminé que le MTU était 1189!
jdhildeb
7

Cette commande le résout pour moi:

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

Vous pouvez vérifier les paramètres tun0 avec

$ ip a s

À votre santé!

Sebastián A. La Spina
la source
1

J'ai eu un problème similaire lorsque OpenVPN se connectait sur 3g avec une mauvaise couverture et une perte de perte de paquets. Passer à TCP au lieu d'UDP a résolu tous les problèmes que j'avais après cela. J'espère que cela vous aidera.

valentt
la source
L'exécution d'un VPN sur TCP s'accompagne de son propre ensemble de problèmes. Résoudre le problème MTU et rester avec UDP fonctionnera probablement mieux que l'utilisation de TCP.
kasperd
Pour OP, changer uniquement MTU est probablement une meilleure suggestion que de passer de TCP à UDP. Si vous avez une situation extrêmement mauvaise, si mauvaise qu'OpenVPN ne pourra même pas établir une connexion stable, alors vous devriez essayer TCP au lieu d'UDP. Dans les cas 3G extrêmement mauvais, le passage à TCP était la seule chose qui fonctionnait pour moi.
valentt
1

Oui, tout tourne autour du MTU.

Mais dans mon cas, j'ai un problème encore plus étrange. À la maison, en utilisant un client Windows OpenVPN, il se bloque. Mais dans mon bureau, cela fonctionne bien.

J'ai essayé de le changer sur mon modem ADSL sans succès. À mon bureau, j'utilise un modem câble et un autre FAI.

Après avoir modifié la MTU de l'adaptateur TAP Windows à 1200, cela fonctionne correctement. Quelque chose de plus élevé que ça, me gèlerait.

entrez la description de l'image ici

Luiz Vaz
la source
0

J'ai utilisé tunnelblick au lieu d'OpenVPN, et je n'ai pas pu trouver de configuration pour la valeur MTU. Au lieu de cela, j'ai trouvé l'interface pour le VPN dans la sortie de ifconfig(dans mon cas, c'était utun0) et défini manuellement le MTU comme suit:

ifconfig utun0 mtu 576

Après cela, ma session ssh ne gèlerait plus.

Zoltán
la source