Пассивный режим FTP - странное поведение...

Автор astarkin, 21 января 2013, 11:06:41

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

astarkin

Прошу прощения, если тему назвал немного туманно, но уже сам в растерянности - не знаю даже, как правильно сформулировать проблему.
В общем, ситуация.
Есть 2 сервера (VPS) установлены и настроены лично из шаблоннов с debian-6 x86, с минимальными настройками, что нужно - ставил сам потом.
Настройки и версии ПО идентичны.
По заверениям техподдержки никаких доп. настроек НАД VPS не стоит, никакие порты или IP не блокируются...
На обоих установлен Proftpd с идентичными конфигами (сверял даже построчно уже вручную).
Тем не менее - при подключении к одному из них в пассивном режиме с определенных компьютеров любой FTP-клиент зависает на комманде PASV и далее "Превышено время ожидания соединения   Не могу получить список каталогов!   Отключен от сервера"
При этом:
1) к другому серверу (с другим IP, но еще раз повторюсь - идентичными настройками) подключается отлично с этого же компьютера
2) к этому серверу (на котором якобы есть проблема) подключается отлично с другого компьютера.
3) к "проблемному" серверу с "проблемного" компьютера подключается отлично и без проблем в активном режиме
4) к "проблемному" серверу с "проблемного" компьютера подключается отлично в пассивном режиме, если сменить порт, например на 2121.
По определенным причинам необходим именно пассивный режим. Дополнительно могу сказать, что проблемных компьютеров несколько, подключение из разных сетей (разные провайдеры), настройки "проблемного" и "непроблемного" клиента также идентичны.
Уже не знаю куда копать....
Но надо, чтобы был именно пассивный, и именно на порту 21...
Подскажите, пожалуйста, где искать корни проблемы...
(конфиг proftpd прилагаю)

rayanAyar

Может дело в iptables? Например некорректно работает conntrack.

astarkin

iptables вообще не настраивал, никакие правила не создавал..

rayanAyar

Цитата: astarkin от 21 января 2013, 11:06:41проблемных компьютеров несколько, подключение из разных сетей (разные провайдеры)
Не совсем ясно. От провайдеров не зависит? Есть два идентичных компа в сети одного и того же провайдера, которые - один работает, а другой "проблемный"?

astarkin

Цитата: rayanAyar от 21 января 2013, 15:56:27Не совсем ясно. От провайдеров не зависит? Есть два идентичных компа в сети одного и того же провайдера, которые - один работает, а другой "проблемный"?
Нет, в одной сети все одинаково. Но такая сеть не единственная.. (т.е. проявляется и на других).
Тут вот такой момент еще обнаружил. В одной из "проблемных" сетей проблему решает подключение мимо роутера. Хотя к другому серверу подключается через этот роутер отлично. И более того - в другой "проблемной" сети роутера нет, там USB-модем, при подключении кабелем - все в порядке, при подключении через 3G-модем - та же проблема.
Есть мысль - может быть на "проблемном" сервере выделяется под пассивные подключения какой-то нестандартный набор портов?... Не очень соображаю, где это искать, если в конфиге не указаны явно они

rayanAyar


yura_n

Если за NAT-ом, попробуйте включить маскарадинг. Опция Masquerade в proftpd.conf (пишу по памяти, уточните).

astarkin

Цитата: rayanAyar от 21 января 2013, 17:54:48
Какие операционки на клиентах?
Win 7 x 64, Win 8 x64 и win XP x86 - отключены все брандмауэры, UAC и т.п. Плюс еще раз акцентирую - к другому аналогичному серверу отлично подключается без проблем оттуда же...
Цитата: yura_n от 21 января 2013, 18:47:53
Если за NAT-ом, попробуйте включить маскарадинг. Опция Masquerade в proftpd.conf (пишу по памяти, уточните).
Пробовал, там еще надо IP-сервера прописать, прописывал, не помогает...

yura_n

#8
Цитата: astarkin от 22 января 2013, 12:20:18Пробовал, там еще надо IP-сервера прописать, прописывал, не помогает...
Там не IP сервера надо прописывать, а IP роутера (внешний). Смысл в том, что сервер отправляет клиенту свой IP-адрес. И если сервер находится за NAT-ом, то клиент и получит внутренний IP-адрес. И если Filezilla (клиент) напишет что-нибудь вроде "Получен непонятный адрес. Использую существующий.", то остальные клиенты и вовсе соединяться не захотят.
P.S. Кстати, только заметил. У вас пассивные порты не открыты. Их нужно открыть и пробросить через роутер.

astarkin

Цитата: yura_n от 22 января 2013, 15:29:36
Там не IP сервера надо прописывать, а IP роутера (внешний). Смысл в том, что сервер отправляет клиенту свой IP-адрес. И если сервер находится за NAT-ом, то клиент и получит внутренний IP-адрес. И если Filezilla (клиент) напишет что-нибудь вроде "Получен непонятный адрес. Использую существующий.", то остальные клиенты и вовсе соединяться не захотят.
P.S. Кстати, только заметил. У вас пассивные порты не открыты. Их нужно открыть и пробросить через роутер.
Выяснил, что внешний ip совпадает с внутренним, т.е. по сути прописывать особо и нечего...
Насчет открытия портов - повторюсь в третий раз (уже писал выше):
1) тоже самое работает при подключении с другого компьютера
2) на другом аналогичном сервере (специально взял чистый и настроил с нуля) - работает и с этого компьютера с тем же конфигом proftpd
Честно - уже весь в растерянности....

rayanAyar

Цитата: astarkin от 21 января 2013, 16:11:54Есть мысль - может быть на "проблемном" сервере выделяется под пассивные подключения какой-то нестандартный набор портов?... Не очень соображаю, где это искать, если в конфиге не указаны явно они
Вот можно попробовать.
http://www.proftpd.org/docs/directives/linked/config_ref_PassivePorts.html
Хотя я сомневаюсь, что дело в этом.

astarkin

Цитата: rayanAyar от 22 января 2013, 17:18:04
http://www.proftpd.org/docs/directives/linked/config_ref_PassivePorts.html
Хотя я сомневаюсь, что дело в этом.
Попробую чуть позже, спасибо.
Меня вот еще смущает - почему, если поставить порт, например 2121 как основной для FTP - то на ура все проходит?...

yura_n

Цитата: astarkin от 22 января 2013, 17:26:08например 2121 как основной для FTP - то на ура все проходит
Первая тысяча портов привилегированная, их может только суперпользователь открывать. Поэтому все серверы, которым нужны порты из этой тысячи, запускаются от рута, присоединяются к портам, а затем понижают права. Отсюда предположение - возможно у вас запуск сервера происходит не от суперпользователя, а как-то по другому.

astarkin

Цитата: yura_n от 22 января 2013, 17:37:25
Первая тысяча портов привилегированная
Попробовал 23-й - с ним тоже все отлично...