У меня есть большое количество идентичных безвентиляторных ПК под управлением Debian 6 (ARM). Большинство из них подключены через Comcast и работают нормально. Некоторые из них подключены к модемам WiMax и имеют проблемы со связью.
В частности: если я ssh к одному из них и попробую команду типа 'ps -ax', я вернусь примерно на 3 строки назад, а затем сессия будет заблокирована. Если я позволю ему сесть, в конце концов он закроется с «закрытой сессией сессии».
Что я пробовал:
ssh -vvv
→ нет сообщений об ошибкахssh <user@host> 'command'
→ это иногда возвращает полный вывод команды. Иногда это не соединяется вообще.
Предложения по другим вещам попробовать?
Я обнаружил, что могу успешно выполнять некоторые команды: например, ударить return дюжину раз или больше - это нормально. cd ~
а потом lf
работает как делает df -h
. Я могу df
успешно запускаться много раз, но как только я пытаюсь что-то сделать с большим количеством вывода (например ls /etc
), оно блокируется.
Имеет ли значение, что я пытаюсь общаться между этими двумя хостами, используя OpenVPN?
источник
ping -c 1 -s $((5000-28)) -M do machine-ip
tracepath -n <ip>
подтверждает это: 1500 разрешен весь путь.-T
поможет в этом случае?Ответы:
У вас есть симптомы проблемы MTU : некоторые TCP-соединения замирают, более или менее воспроизводимо для данной команды или URL, но без какого-либо легко различимого общего шаблона. Характерным признаком является то, что интерактивные сеансы SSH работают хорошо, если вы не запускаете команды с большим выводом. См. Объяснение для получения доступа к избранным сайтам https в Linux через PPPoE .
OpenVPN имеет несколько опций, связанных с MTU - поиск «mtu» в руководстве. У меня недостаточно опыта, чтобы быть уверенным в том, какой вариант нужно изменить. (Даже возможно, что вы можете что-то изменить в конфигурации модема Wimax.) Наиболее вероятный вариант: изменить
mssfix
значение до тех пор, пока проблема не будет устранена. По умолчанию это 1450; что-то около 1400 может решить вашу проблему. Попробуйopenvpn --fragment 1200 -mssfix
; если это помогает, увеличивайте значение, пока оно не начнет ломаться.источник
mssfix 1200
на сервер и перезапуска. Все идет нормально. Если это сработает, я увеличу его до 1300 или 1400 и посмотрю, что произойдет. Слишком много клиентов, чтобы изменить все удаленные конфиги, хотя так придется делать на стороне сервера.Ответ Жиля полностью прав, но есть и другая потенциальная причина для этого.
В версии 2.3.0 OpenVPN была ошибка, которая приводила к отключению клиентов при отправке больших кусков данных: https://community.openvpn.net/openvpn/ticket/263
Эта проблема возникала только при использовании TCP. UDP был совершенно не затронут.
источник
У нас была та же проблема, и это действительно была проблема MTU. Однако для нас проблема была не в конфигурации openVPN, а в интерфейсе tun0.
Как мы решили это: сначала найдите максимальный размер пакета, который прошел через
и уменьшение значения 1500 до тех пор, пока значение не пройдет (для нас 1350).
Как только правильное значение будет найдено, измените интерфейс tun0 с помощью
как было предложено Себастьяном здесь . После этого VPN шел гладко.
источник