Назад | Перейти на главную страницу

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», сеанс остановится в тот момент, когда я нажму Enter.

Я скомпилировал openvpn 2.1.1 на своем Mac и скопировал каталог конфигурации из моего клиента gentoo. Mac подключился и сеансы ssh работали нормально без зависаний.

Затем я скомпилировал его на своем старом компьютере Gentoo (ядро 2.6.26), который я ухожу из-за умирающего жесткого диска, и ssh поверх него также отлично работает.

Почему он не работает на моем новом Gentoo Box? Я пробовал скомпилировать три разных ядра на случай, если это было так, но кроме этого не должно быть никакой разницы между моими старыми и новыми ящиками Gentoo, о которых я могу думать.

Есть предложения о том, что не так?

пахнет mtu issue. попробуйте снизить его, как описано в официальное руководство или в этом блог Почта.

Эта команда решает это за меня:

$ 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 больше не зависает.