SSH трафик через OpenVPN соединение останавливается, когда я кошка файла
У меня есть openvpn (версия 2.1_rc15 на обоих концах) для установки соединения между двумя коробками gentoo с использованием общих ключей. это работает отлично по большей части. Я использую mysql, http, ftp, scp через vpn без проблем. Но когда я ssh от клиента к серверу через VPN, происходят странные вещи. Я могу войти, я могу выполнить несколько команд. Но если я попытаюсь запустить приложение ncurses, такое как top, или попытаться перехватить файл, соединение прекратит работу, и мне придется разорвать сессию ssh.
Я могу, например, выполнить "echo blah; echo .; Echo blah", и он выведет три строки текста в течение сессии ssh. Но если я выполню "cat /etc/motd", сессия остановится, как только я нажму клавишу ввода.
Я скомпилировал openvpn 2.1.1 на моем Mac и скопировал мой каталог конфигурации из моего клиента gentoo. Макинтош подключился и сессии ssh работали нормально без зависания.
Затем я скомпилировал его на моем старом пакете gentoo (ядро 2.6.26), которое я удаляю из-за умирающего жесткого диска, и ssh поверх него также отлично работает.
Почему он не работает на моем новом Gentoo Box? Я попытался скомпилировать три разных ядра на случай, если это так, но кроме этого не должно быть никакой разницы между моим старым и моим новым Gentoo Box ами, о которых я могу думать.
Любые предложения о том, что не так?
5 ответов
Пахнет мту вопрос. Попробуйте опустить его, как описано в официальном руководстве или в этом сообщении в блоге.
Эта команда решает это для меня:
$ sudo ip link set dev tun0 mtu 1350 && echo ":)"
Вы можете проверить настройки tun0 с помощью
$ ip a s
Ура!
Да, это все о MTU.
Но в моем случае у меня проблема еще более странная. Дома, используя Windows-клиент OpenVPN, он зависает. Но у меня в офисе все работает нормально.
Я попытался изменить его на моем модеме ADSL, но безуспешно. В моем офисе я использую кабельный модем и другой интернет-провайдер.
После изменения MTU адаптера Windows TAP на 1200 все работает нормально. Что-то более высокое, чем это, замерзнет для меня.
У меня была проблема с аналогами, когда OpenVPN подключался через 3g с плохим покрытием и потерял потерю пакета. Переключение на TCP вместо UDP устранило все проблемы, которые у меня были после этого. Надеюсь, что это помогает вам.
Я использовал tunnelblick вместо OpenVPN, и я не смог найти конфигурацию для значения MTU. Вместо этого я нашел интерфейс для VPN в выводе ifconfig
(в моем случае это было utun0
) и установите для него MTU вручную так:
ifconfig utun0 mtu 576
После этого моя сессия SSH больше не зависает.