FTP при изменении Destination port range не работает


  • Добрый день.

    2.1.3-RELEASE (i386)

    При настройке проброса на FTP сервер, после изменения его входящего порта отваливается соединение.

    Пробовал менять на другой диапазон, ситуация такая же. При чем проброс портов на RDP MS работает на ура. FTP сервер крутиться на нем же.

    Подскажите в чем может быть проблема?


  • @avec1313:

    Добрый день.

    2.1.3-RELEASE (i386)

    При настройке проброса на FTP сервер, после изменения его входящего порта отваливается соединение.

    Пробовал менять на другой диапазон, ситуация такая же. При чем проброс портов на RDP MS работает на ура. FTP сервер крутиться на нем же.

    Подскажите в чем может быть проблема?

    повторюсь, при настройке с 21 порта на 21 все работает. В том числе при изменении проброса на rdp.

    firezilla

    Статус: Соединяюсь с XXXXXXXXX:6212…
    Статус: Соединение установлено, ожидание приглашения...
    Ответ: 220 Microsoft FTP Service
    Команда: USER ftp1
    Ответ: 331 Password required
    Команда: PASS *******
    Ответ: 230 User logged in.
    Команда: OPTS UTF8 ON
    Ответ: 200 OPTS UTF8 command successful - UTF8 encoding now ON.
    Статус: Соединение установлено
    Статус: Получение списка каталогов...
    Команда: PWD
    Ответ: 257 "/" is current directory.
    Команда: TYPE I
    Ответ: 200 Type set to I.
    Команда: PASV
    Ответ: 227 Entering Passive Mode (10,86,33,155,192,224).
    Статус: Сервер отправил пассивный ответ с неопределяемым адресом. Использую существующий адрес сервера.
    Команда: LIST
    Ответ: 150 Opening BINARY mode data connection.
    Ошибка: Соединение передачи данных не может быть установлено: ETIMEDOUT - Connection attempt timed out
    Ошибка: Превышено время ожидания соединения
    Ошибка: Не удалось получить список каталогов


  • Где и что вы меняете? Крайне желатльно роказать скриншоты правил и NAT. Снимки прикреплять к посту.


  • @dvserg:

    Где и что вы меняете? Крайне желатльно роказать скриншоты правил и NAT. Снимки прикреплять к посту.

    Выше  сообщения из Filezilla

    Меняю только Destination port range

    Спасибо за быстрое реагирование)))

    При 21:

    Так заметил что поменялось…. при изменении ТОЛЬКО Destination port range при обращении к фтп увидел что обращается на локальный IP а не на Внешний
    Соединяюсь с 62.xxxxxx:21...
    Статус: Соединение установлено, ожидание приглашения...
    Ответ: 220 Microsoft FTP Service
    Команда: USER ftp1
    Ответ: 331 Password required
    Команда: PASS *******
    Ответ: 230 User logged in.
    Команда: OPTS UTF8 ON
    Ответ: 200 OPTS UTF8 command successful - UTF8 encoding now ON.
    Статус: Соединение установлено
    Статус: Получение списка каталогов...
    Команда: PWD
    Ответ: 257 "/" is current directory.
    Команда: TYPE I
    Ответ: 200 Type set to I.
    Команда: PASV
    Ответ: 227 Entering Passive Mode (62,XX,XX,XX,192,230)
    Команда: LIST
    Ответ: 150 Opening BINARY mode data connection.
    Ответ: 226 Transfer complete.
    Статус: Список каталогов извлечен
    Статус: Отключен от сервера

    При 6221 :

    Статус: Соединяюсь с XXXXXXXXX:6221…
    Статус: Соединение установлено, ожидание приглашения...
    Ответ: 220 Microsoft FTP Service
    Команда: USER ftp1
    Ответ: 331 Password required
    Команда: PASS *******
    Ответ: 230 User logged in.
    Команда: OPTS UTF8 ON
    Ответ: 200 OPTS UTF8 command successful - UTF8 encoding now ON.
    Статус: Соединение установлено
    Статус: Получение списка каталогов...
    Команда: PWD
    Ответ: 257 "/" is current directory.
    Команда: TYPE I
    Ответ: 200 Type set to I.
    Команда: PASV
    Ответ: 227 Entering Passive Mode (10,86,33,155,192,232).
    Статус: Сервер отправил пассивный ответ с неопределяемым адресом. Использую существующий адрес сервера.
    Команда: LIST
    Ответ: 150 Opening BINARY mode data connection.
    Ошибка: Соединение передачи данных не может быть установлено: ETIMEDOUT - Connection attempt timed out
    Ошибка: Превышено время ожидания соединения
    Ошибка: Не удалось получить список каталогов

    Попробовал поменять порт на сервере на 6221 ничего не поменялось

    при настройках 6221 - 6221 та же самая ошибка, НО
    при настройках FTP - 6221 все ок.
    То есть проблема именно в пункте Destination port range



  • Так побегал почитал…

    https://forum.pfsense.org/index.php?topic=73372.msg402246#msg402246

    настроил на ftp-ники порты и ситуация изменилась,но .... все равно висит.
    Статус: Соединяюсь с 62.xxxxxx:6221...
    Статус: Соединение установлено, ожидание приглашения...
    Ответ: 220 Microsoft FTP Service
    Команда: USER ftp1
    Ответ: 331 Password required
    Команда: PASS *******
    Ответ: 230 User logged in.
    Команда: OPTS UTF8 ON
    Ответ: 200 OPTS UTF8 command successful - UTF8 encoding now ON.
    Статус: Соединение установлено
    Статус: Получение списка каталогов...
    Команда: PWD
    Ответ: 257 "/" is current directory.
    Команда: TYPE I
    Ответ: 200 Type set to I.
    Команда: PASV
    Ответ: 227 Entering Passive Mode (62,xxxxx,193,67).
    Команда: LIST
    Ответ: 150 Opening BINARY mode data connection.
    Ошибка: Соединение передачи данных не может быть установлено: ETIMEDOUT - Connection attempt timed out
    Ошибка: Превышено время ожидания соединения
    Ошибка: Не удалось получить список каталогов

    ip внешний прокидывает, но видимо с портом туго…


  • Ну что господа, к сожалению это мой первый опыт работы с unix\linux-подобными система и как следствие отсутствие и практики и теории. Пробовал погасить debug.pfftpproxy  и сразу же я у перся в ту же самую точку что и на других портах. У меня есть только два решения это задачи:

    1. Если ваш опыт и практика позволяет взглянуть "поглубже" и посмотреть какие пробросы у нас выставляются в случаи выбора вкладки (FTP) на Destination port range.

    2. Или подсказать как бы мне сменить само это значение. С 21 порта на любое другое.

    И в том и другом случаи без вас "Ребята", мне обойтись.

    Надеюсь на вашу помощь, спасибо.


  • Настройки ftp сервера какие?


  • Настройте в FZ явно дипазон портов для passive mode и пробросьте их вместе с 21\TCP.


  • @werter:

    Настройте в FZ явно дипазон портов для passive mode и пробросьте их вместе с 21\TCP.

    Да он пытается уйти от 21 порта. Думаю при этом в диапазон passive лезет.


  • Ну уж 21-ый на нужный сменить - не проблема .


  • http://www.imho.ws/showthread.php?t=147280
    "указал в pasv_address свой внешний адрес. диапазон портов и прокинул их на шлюзе. "


  • Спасибо за ответ, видимо я был не точен.

    Имеем w2012k2 на котором поднят FTP на IIS. В настройках FTP указан внешний IP брандмауэра 62.xx.xx.xx. и порты с 5000-5010.

    После данных установок из FZ пошли такого рода ответы:
    Ответ: 227 Entering Passive Mode (62,xxxxx,193,67).
    Т.е. IP он перешивает но не может соединиться обратно по портам 5000-5010.

    Вот конкретного их я и не могу понять как прокинуть?

    Имеем такого рода правильно на PFsense:
    nat: port forwarding:

    1. WAN TCP * * WAN address 6211 10.86.33.155 3389 (MS RDP)
      2)  WAN TCP * * WAN address 6221 10.86.33.155 21 (FTP)

    3)TCP/UDP * * * 5000 - 5010 10.86.33.155 ftppassive - 10

    ftppassive - allias с портами 5000-5010

    rules wan:

    1. IPv4 TCP * * * 40156 * none

    2)  IPv4 TCP * * 10.86.33.155 3389 (MS RDP) * none   NAT rdp na pts

    3)  IPv4 TCP * * 10.86.33.155 21 (FTP) * none   NAT

    1. IPv4 TCP * * 10.86.33.155 5000 - 5010 * none

    2. IPv4 TCP/UDP * * 10.86.33.155 ftppassive - 10 * none

    правила лан:

    IPv4 *    LAN net    *    *    *    *    none        Default allow LAN to any rule

    IPv6 *    LAN net    *    *    *    *    none        Default allow LAN IPv6 to any rule

    IPv4 TCP    *    5000 - 5010    10.86.33.147    5000 - 5010    *    none

    В чем я ошибся?


  • 2)  WAN   TCP    *    *    WAN address    6221    10.86.33.155    21 (FTP)

    3)TCP/UDP    *    *    *    5000 - 5010    10.86.33.155    ftppassive - 10

    Найдите сами n-отличий в своих же правилах

    1. Удаляете это в Port forwarding :

    3)TCP/UDP    *    *    *    5000 - 5010    10.86.33.155    ftppassive - 10

    2. Удаляете это на WAN :

    4

    ) IPv4 TCP    *    *    10.86.33.155    5000 - 5010    *    none

    1. IPv4 TCP/UDP    *    *    10.86.33.155    ftppassive - 10    *    none

    3. Удаляете это на LAN :

    IPv4 TCP    *    5000 - 5010    10.86.33.147    5000 - 5010    *    none

    4. Создаете правило на Port forwarding :

    WAN   TCP    *    *    WAN address  5000 - 5010  10.86.33.155    5000 - 5010

    5. Проверяете, что появилось соответствующее правило на WAN.

    P.s.

    Имеем w2012k2 на котором поднят FTP на IIS. В настройках FTP указан внешний IP брандмауэра 62.xx.xx.xx. и порты с 5000-5010.

    Не заработает - "заставьте" FTP "слушать" все интерфейсы или только локальный.


  • Судя по http://shop.nativepc.ru/content/80-pfsense-7 проброс ftp в pfSense работает только по 21 порту.
    Выдержка из документации:
    7.8.1.1.2. FTP сервер за NAT
    FTP сервер за NAT должен использовать порт 21, т.к. FTP прокси будет запущен только когда указан порт 21.

    Сам хотел сделать перенаправление на другой порт, но фигвам.


  • werter, спасибо за помощь.

    Удалил все лишние и сделал как предлагалось.

    2)  WAN   TCP    *    *    WAN address    6221    10.86.33.155    21 (FTP)

    3)TCP/UDP    *    *    *    5000 - 5010    10.86.33.155    ftppassive - 10
    Найдите сами n-отличий в своих же правилах

    Кроме как 1 это WAN address я не увидел, ведь в аллиасе ftppassive были указаны порты с 5000-5010.

    Но к успеху все равно не привело, пробовал проделать тоже самое у же на другом ФТП-нике, результат тот же.

    Не могли бы Вы подсказать, у Вас получалось перенаправлять на другой входящий порт? Просто я за послед. два дня нашел очень много подобных мне тем, которые не пришли к решению.

    Может быть все таки попробовать рассмотреть вариант, редактирования самого debug.pfftpproxy? Если это выглядит смешно не обращайте внимание. Напомню, что это мой первый опыт работы с юниксами.


  • @ avec1313

    Вы извне пытаетесь проверять работоспособность (т.е. провайдера) ? Или изнутри сети ?
    Далее, как насчет fw на вашем FTP - или родного или стороннего ?

    Совет  :  поднимите FZ на той же win 7\win xp и проверьте там.


  • @werter:

    @ avec1313

    Вы извне пытаетесь проверять работоспособность (т.е. провайдера) ? Или изнутри сети ?
    Далее, как насчет fw на вашем FTP - или родного или стороннего ?

    Совет  :  поднимите FZ на той же win 7\win xp и проверьте там.

    Проверка производилась как изнутри, так и извне. Изнутри все работает. Если FW- это firewall, то его я отключал полностью на время тестов. Самое интересное , что до этого FTP-ник работал на TMG 10. И все работало отлично.
    Попробую ваш вариант, поднять FZ на 7.  Хотя до этого переключал другой FTP-ник, он был на стороннем софте, но установлен на MS.

    Как закончу, напишу….



  • Победа!!!

    И так последовав совету нашего гуру werter, я накатил  на виртуалке семерочку и поставил FZ server. Все заработало, сдаваться я не привык и это означало, что мне брошен вызов и назад пути уже нет.  ;)  Я поднял ISS и FTP на семерке с отключенным FW и получил тоже самое что и на W2012K2. Означало что все намного глубже и я начал серв по гуглу. Ни одного нормально ответа и подсказки, кроме как на technet. И вот она прелесть наша)))

    http://www.iis.net/learn/publish/using-the-ftp-service/configuring-ftp-firewall-settings-in-iis-7#Prerequisites

    на одном из скринов я уведел диапозон с 49152 до 65535.

    Там же по ссылкам был обнаружено, что

    http://support.microsoft.com/kb/174904

    диапазон динамических портов жестко ограничен,а до этого я выставлял диапозон с 5000-5010. Ну думаю теперь то понятно все, ставлю с 50000-50010 и получаю все равно БАНАН.

    То есть выставив необходимые порты, они либо не доходят до клиента, либо не редиректяться….

    Психанул... выставил с 49152 до 65535 и все заработало.

    Решил покопаться дальше и обнаружил как изменить это диапазон чертов...

    http://support.microsoft.com/kb/929851

    Есть одно но, так у меня этот сервер кроме как FTP и RDP не использует, то решил попробовать на для других прошу обратить внимание:

    Пользователи Microsoft, которые развертывают серверы под управлением Windows Server 2008 могут возникнуть проблемы с RPC связи между серверами, если брандмауэры используются во внутренней сети. В этих случаях рекомендуется заново настроить брандмауэр, чтобы разрешить трафик между серверами в диапазоне динамических портов от 49152 до 65535.

    И начал я это все мучить да пилить и одумался я и пришел свет в мой дом… Блин, а может просто права по таймауту не вошли?? Перезагружаю я сервак и о чудо, с 50000-50010 все работает. Внизу чуть позже выложу мануальчик со скринами, думаю можно тему прикрепить. Так как не раз уже видел безвыходную эту ситуацию)))


  • @ avec1313

    Упорство достойное похвалы  ;D

    P.s. За гуру спасибо, но пока не достоин. Далееееко мне еще …

    P.p.s. С нетерпением ждем ваших скринов ибо поможет многим.


  • У меня такая же проблема. Скрина нету уже 2 год. Может сделаете мануал. Спасибо.


  • Спасибо, avec1313 за разъяснение! у меня была идентичная ситуация. Но автор этого расследования в конце оставил интригу, а я ее разрушу. Нужно после назначения своего диапазона портов для пассивного ftp ПРОСТО ПЕРЕЗАГРУЗИТЬ МАШИНУ, на которой разворачиваете ftp-сервер.