Режимы работы ftp серверов
Для FTP необходимо 2 соединения — первое для команд и второе для данных.Первое соединение (с данными) всегда идет от клиента на сервер, а вот направление второго различается для активного и пассивного режимов.
В случае активного FTP второе соединение идет от сервера на клиентский компьютер, но так как такое соединение стало невозможно из-за NAT-ов и Firewall-ов, то изобрели пассивный режим, в котором сервер говорит клиенту (через первое соединение) на какой порт открывать второе соединение (обычно порт выбирается сервером случайно в каком-то диапазоне) и второе соединение тоже открывается с клиентского компьютера на сервер.
Одним важным моментом является то, что большинство FTP серверов (по крайней мере, под Windows) не позволяют ограничивать диапазон портов для второго соединения, что усложняет конфигурацию Firewall-ов и делает невозможной нормальную защиту для многих из них. Например, Serv-U — один из немногих позволяет ограничивать этот диапазон.
Из «ЧАВО» TMeter
FTP-протокол подразумевает два различных соединения между клиентом и FTP-сервером. Первое соединение называется «управляющим» (control connection). Оно предназначено для «входа» клиента в FTP-сервера, перехода между каталогами в FTP-сервере и т.п. Для того, чтобы получить список файлов с сервера, скачать файл с сервера или закачать файл на сервер, используется второе соединение, называемое «соединение для передачи данных» (data connection).
Управляющее соединение одинаково для Активного и Пассивного режима. Клиент инициирует TCP-соединение с динамического порта (1024-65535) к порту номер 21 на FTP-сервере и говорит «Привет! Я хочу подключиться к тебе. Вот мое имя и мой пароль». Дальнейшие действия зависят от того, какой режим FTP (Активный или Пассивный) выбран.
В активном режиме, когда клиент говорит «Привет!» он так же сообщает серверу номер порта (из динамического диапазона 1024-65535) для того, чтобы сервер мог подключиться к клиенту для установки соединения для передачи данных. FTP-сервер подключается к заданному номеру порта клиента используя со своей стороны номер TCP-порта 20 для передачи данных.
В пассивном режиме, после того как клиент сказал «Привет!», сервер сообщает клиенту номер TCP-порта (из динамического диапазона 1024-65535), к которому можно подключится для установки соединения передачи данных.
Главное отличие между активным режимом FTP и пассивным режимом FTP — это сторона, которая открывает соединение для передачи данных. В Активном режиме, клиент должен принять соединение от FTP-сервера. В Пассивном режиме, клиент всегда инициирует соединение.
Пример активного соединения:
[1] Control Connection: Client port 1026 > Server port 21 [2] Data Connection: Client port 1027 < Server port 20
Пример пассивного соединения:
[1] Control Connection: Client port 1026 > Server port 21 [2] Data Connection: Client port 1027 < Server port 2065
Добавить правило для ftp-server Windows Server 2019 (часть 5)
Добрый день! Сегодня мы продолжаем настраивать наш Ftp — Server для ОС Windows Server 2019! И сегодня мы рассмотрим как открыть порты, для доступа по сети к ftp-серверу.
Для того, чтобы мы могли подключиться к нашему ftp-серверу необходимо в брандмауэре открыть соответствующие порты. Как правило Ftp-сервер использует 21 порт, а sftp 22.
Шаг 1. Для того чтобы открыть порт, для нашего ftp-сервера, нам необходимо открыть firewall windows. Поэтому открываем меню пуск и пишем в поиске firewall.

Шаг 2. Открываем приложение Windows Defender Firewall.

Шаг 3. В левом боковом меню выберем inbound Rules. Далее в правом боковом меню выбираем New Rules.

Шаг 4. В появившемся окне добавления новой роли выбираем Predefined (предопределенные), и в выпадающем списке выбираем ftp-server.

Шаг 5. Отмечаем галочкой все предложенные роли.

Шаг 6. Теперь на следующей странице выбираем разрешить все подключения (Allow Connection) и нажимаем финиш.

Теперь у нас появится три новых правила, для входящих подключений к ftp-серверу.

Вот мы и рассмотрели как добавить правило для работы ftp — сервера.
Свежие записи
- Начало работы с Liquibase
- Укрощение высокой загрузки ЦП cAdvisor
- Понимание действий GitHub
- Добавление собственных бегунов (GitHub Runers)
- VPN, Proxy и Tor: сохранение анонимности в сети в 2022 году
Записи Архивов по месяцам
Рубрики
- Active Directory (1)
- Airflow (2)
- Ansible (1)
- Apache NiFi (3)
- Apache Tomcat (1)
- Apache Zeppelin (3)
- Artifactory (1)
- Astra Linux (4)
- cadvisor (1)
- CentOS8 (33)
- CI/CD (8)
- CMS (3)
- Confluence (1)
- Debian (6)
- DNF (1)
- DNS (1)
- Docker (4)
- ETL (2)
- Fedora (1)
- ftp (5)
- GitHub (4)
- GitLab (1)
- Grafana (8)
- InfluxDB (2)
- InfluxDB 2.0 (1)
- Linux (163)
- liquibase (1)
- MySql (7)
- NextCloud (4)
- Nginx (5)
- Oracle Database (1)
- OwnCloud (3)
- Postgresql (7)
- Prometheus (3)
- Proxy (1)
- RedHat (39)
- SQLite (1)
- SSH (4)
- SVN (1)
- Tor (1)
- Ubuntu (24)
- Ubuntu Studio (1)
- VPN (2)
- Web Panel (2)
- Web Сервер (13)
- Windows (24)
- Zabbix (16)
- Автоматизация обмена данными (3)
- Анализ и Визуализация Данных (3)
- Анализ Кода (1)
- Анонимные ОС (4)
- Антивирусы (1)
- Без рубрики (4)
- Виртуальные Машины (8)
- Клиенты Удаленного Подключения (1)
- Команды (7)
- Менеджер Пакетов (2)
- Облако (6)
- Окружение рабочего стола (1)
- Операционные Системы (184)
- Почтовые Клиенты (4)
- Программное Обеспечение (94)
- Сетевое Хранилище (21)
- Система Wiki (1)
- Система управления версиями (9)
- Системы Автоматизации Развертывания (7)
- Системы Мониторинга (27)
- Системы Управления Базами Данных (22)
- Системы управления проектами (6)
- Системы Управления Проектом (9)
- Служба каталогов (2)
- Средства Разработки (3)
- Удаленное Подключение (11)
forum.lissyara.su
Добрым словом и кулаком, добьёшься больше чем одним добрым словом.
какие порты открыть для пассивного ftp?
Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- Отправить тему по email
- Версия для печати
Первое новое сообщение • 17 сообщений • Страница 1 из 1
iltmpz ефрейтор Сообщения: 58 Зарегистрирован: 2008-11-10 13:10:56
какие порты открыть для пассивного ftp?
- Пожаловаться на это сообщение
- Цитата
(поиском пользовался, по теме ничего подходящего не нашел)
Настроил роутер для копроративной сети: снаружи вообще все закрыл, изнутри открыл только необходимые порты.
1 внешний ip, доступ наружу через NAT.
А пользователям "изнутри" надо коннектиться к внешним фтп-серверам.
Открыл вроде бы стандартный для пассивного ftp диапазон портов:
$ add allow tcp from any to any 49152-65535 in keep-state
Потом со своей локальной машины пытаюсь зайти на ftp://ip-сервера, а он не пускает, и в логах попытки стучаться на порты: . 10585, 10586, .
Другой фтп-сервер предлагает стучаться на порты: 37225, 36900, 44356
На локальной машине linux, пробую заходить командой ftp и смотреть ls.
Если написать $ add allow tcp from any to any in keep-state, то все работает, но как-то совсем уж не хочется писать такие штуки.
Как культурно решить проблему? Можно ли воздействовать на открываемые порты или как локализовать диапазон и открыть только нужные?
iltmpz
Хостинг HostFood.ru
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
paradox проходил мимо Сообщения: 11620 Зарегистрирован: 2008-02-21 18:15:41
Re: какие порты открыть для пассивного ftp?
- Пожаловаться на это сообщение
- Цитата
а в клента в пассив переведите
paradox
iltmpz ефрейтор Сообщения: 58 Зарегистрирован: 2008-11-10 13:10:56
Re: какие порты открыть для пассивного ftp?
- Пожаловаться на это сообщение
- Цитата
клиент вроде бы когда не может работать в active (за nat например), сам в пассив переводится. Во всяком случае ls пишет:
229 Entering Extended Passive Mode (|||17271|)
Или другой фтп-шник:
500 'EPSV': command not understood
227 Entering Passive Mode
И после этого виснет. И в PASV, и в EPSV. Что логично, поскольку стучится через 17271-й порт, который закрыт.
А вот как понять, какие порты ему открыть, чтобы этого хватило и чтобы не открывать лишнего?
iltmpz
iltmpz ефрейтор Сообщения: 58 Зарегистрирован: 2008-11-10 13:10:56
Re: какие порты открыть для пассивного ftp?
- Пожаловаться на это сообщение
- Цитата
Пока прописал диапазон портов: 10000-65535. Вроде бы работает. Можно считать, что на портах больше 10000 ничего интересного нет, хотя конечно обидно такую кучу портов открывать.
iltmpz
paradox проходил мимо Сообщения: 11620 Зарегистрирован: 2008-02-21 18:15:41
Re: какие порты открыть для пассивного ftp?
- Пожаловаться на это сообщение
- Цитата
может лучше сначала разобраться что такое активный фтп и что такое пассивный фтп
и сеанс работы того и другого
paradox
iltmpz ефрейтор Сообщения: 58 Зарегистрирован: 2008-11-10 13:10:56
Re: какие порты открыть для пассивного ftp?
- Пожаловаться на это сообщение
- Цитата
В активном клиент открывает серверу порт и говорит, какой.
А в пассивном сервер открывает свой порт и говорит клиенту, какой.
В моем случае - сеть из кучи компов за nat - не представляю как при этом каждый клиент за nat будет открывать свой порт НА РОУТЕРЕ. Или я неправ?
Т.е. остается только пассивный режим, в котором все и работает при всех открытых на роутере портах наружу. А все порты открывать не хочется.Однако пока пришлось: 10000-65535.
iltmpz
paradox проходил мимо Сообщения: 11620 Зарегистрирован: 2008-02-21 18:15:41
Re: какие порты открыть для пассивного ftp?
- Пожаловаться на это сообщение
- Цитата
а что это за политика такая что вы клиенам ограничиваете порты наружу?
а если я ваш клиент и захочу по ssh выйти?
тоесь вы мне закроете доступ выхода по 22 порту?
или я чего то не понимаю
paradox
iltmpz ефрейтор Сообщения: 58 Зарегистрирован: 2008-11-10 13:10:56
Re: какие порты открыть для пассивного ftp?
- Пожаловаться на это сообщение
- Цитата
paradox писал(а): а если я ваш клиент и захочу по ssh выйти?
тоесь вы мне закроете доступ выхода по 22 порту?
Нормальная такая параноидальная политика: закрыть все, что не должно быть открыто.
Конкретно 22-й порт я открыл, а вот аську например, возможно, понадобится закрыть для конкретных ip.
Да вообще приятнее как-то представлять, кто куда ломится - список задач четко определен и не так велик, а вирусы например во внутренней сети вылавливать гораздо удобнее. И софт который без спросу в инет лезет - тоже.
iltmpz
paradox проходил мимо Сообщения: 11620 Зарегистрирован: 2008-02-21 18:15:41
Re: какие порты открыть для пассивного ftp?
- Пожаловаться на это сообщение
- Цитата
ну незнаю незнаю
как по мне так лучше открыть все наружу
чем каждый раз разбирать что там у юзера куда
а вообще у фтп есть два порта 20 21
их достаточно открыть
а что вы там открываете я как то не совсем понимаю
paradox
iltmpz ефрейтор Сообщения: 58 Зарегистрирован: 2008-11-10 13:10:56
Re: какие порты открыть для пассивного ftp?
- Пожаловаться на это сообщение
- Цитата
paradox писал(а): ну незнаю незнаю
как по мне так лучше открыть все наружу
чем каждый раз разбирать что там у юзера куда
а вообще у фтп есть два порта 20 21
их достаточно открыть
а что вы там открываете я как то не совсем понимаю
Это скорее вопрос подхода - возможно, я и неправ - надоест с каждым портом возиться и открою все и всем, время покажет.
21 - открыть от клиента к серверу, а ответ нормально идет через established.
А 20-й (для активного режима) должен быть открыт на вход - снаружи (с 20-го порта) внутрь. Причем из-за nat он должен еще divert'иться, причем на конкретный внутренний ip, с которого поступил запрос, насколько я понимаю.
Как это сделать быстро и просто средствами ipfw - не представляю. Может быть, потом попробую придумать что-нибудь на тему ftp-прокси, но это уже отдельная история.
iltmpz
paradox проходил мимо Сообщения: 11620 Зарегистрирован: 2008-02-21 18:15:41
Re: какие порты открыть для пассивного ftp?
- Пожаловаться на это сообщение
- Цитата
и так
я так понял
что у вас проходящий роутер между юзерами и интернетом
и на роутере нужно настроить фаерол
Q7 - What is the difference between PASV & PORT mode ?
An FTP Server uses 2 ports :
- main port (usually 21) for command (USER, PASS, CWD . )
- data port (main port - 1) for data transfert (directory listing, upload & download)
The difference between Passive mode (PASV) and normal mode (PORT) is the connection :
- when using PASV, client asks server where it (the client) will have to connect to to establish data transfer link.
Client > PASV
Server > 227 Entering Passive Mode (209,15,39,184,249,155)
Ftp client must connect to 209.15.39.184 on port 249*256 + 155 = 63899
- when using PORT, client specifies what ip and port the FTP server must connect to to establish data transfer link :
Client > PORT 192,168,0,10,5,114
Server > 200 PORT command successful.
This time, it is the FTP server which connects to the FTP client (ip = 192.168.0.10 on port 5*256+114 = 1394)
PASV : client connects to server for data transfer
PORT : server connects to client for data transfer
more information : http://slacksite.com/other/ftp.html
тоесть вам нужен пассивный режим
и
PASV : client connects to server for data transfer
или я чего то подзабыл или что то вы не то понимаете
но думаю открытие 20,21 порта для прохождения наружу
тоесть нормального их натинга должно все работать
и все и работало наскоко я помню своих давние конфигурации роетра
а вы делатете наоборот для активного режима
Сisco проброс группы FTP портов для FileZilla Server
Кратко объясню суть проблемы. Для функционирования FTP протокола достаточно открыть порт 21/TCP на вход и порт 20/TCP на выход. Но этого достаточно для работы FTP в активном режиме. Для корректной работы стека FTP небходимо обеспечить функционирование FTP как в активном, так и в пассивном режиме. О разнице этих режимов написано много информации, дабы не перегружать пост я напишу только то, что для работы пассивного режима необходимо дополнительно пробросить порты 49152-65534/TCP. Если бы FTP-сервер «смотрел» прямо в интернет, то проблем бы никаких небыло, но часто FTP-сервер может находиться за роутером, а в небольших компаниях не только за роутером, но ещё и за NAT-ом.
Хочу напомнить, что FTP был создан в 1971 году, до того как появился стек TCP/IP. В последствии FTP был переписан для работы над стеком TCP/IP.
Теперь поближе к сути вопроса. Для того, чтобы Filezilla Server корректно обрабатывал пассивный режим, необходимо пробросить большой диапазон портов с интерфейса шлюза в сторону сервера, находящегося за роутером с NAT. На некоторых бытовых роутерах данная задача реализуется всего парой строчек в настройках web-интерфейса роутера.

Проброс группы портов на новом интерфейсе D-Link

Проброс группы портов на старом интерфейсе D-Link
Но, что делать администратору, который работает с профессиональным оборудованием типа CISCO? Почему-то некоторые начинающие администраторы Cisco считают, что проброс группы портов можно реализовать только соответствием внутренний порт к внешнему порту. Например, вот так:
border# conf t border(config)# ip nat inside source static tcp 192.168.30.3 20 interface fastethernet0/0 20 border(config)# ip nat inside source static tcp 192.168.30.3 21 interface fastethernet0/0 21
Если пытаться таким образом пробросить порядка ста портов, что вполне достаточно для корректной работы пассивного режима работы FTP, то данный подход будет довольно удручащим. Как минимум при огромной таблице подобных ретрансляций процессор роутера будет обрабатывать все правила пока не доберйтся до нужной строчки. В худшем же случае подобный подход просто съест всю память выделенную под настройки. Одна подобная строчка занимает порядка 80 байт. Соответственно сотня строк выльется в 8 килобайт. А если таким образом попытаться пробросить все 16382 порта, то это займёт почти полтора мегабайта памяти. То есть использовать данный подход для проброса большой группы портов не желательно. В некоторых случаях — это даже не возможно в силу технологических ограничений.
Существует ещё два метода пробросить порты оптом. Один из них с использованием routemap, а другой — через ACL.
Проброс портов через ACL осуществляется в три этапа.
- Создать ACL с доступом по портам,
- создать пул адресов на которые будет осуществляться ротация портов,
- создать правило для NAT.
В результате, для проброса сотни портов для FTP будет выглядеть следующим образом:
border# conf t border(config)# ip access-list extended FTPRULE border(config-std-nacl)# permit tcp any any range ftp-data ftp border(config-std-nacl)# permit tcp any any range 50000 50100 border(config-std-nacl)# exit border(config)# ip nat pool FTPSRV 192.168.30.3 192.168.30.3 netmask 255.255.255.0 type rotary border(config)# ip nat inside destination list FTPRULE pool FTPSRV
Не забывайте, что сам сервер должен знать какими портами он может распоряжаться.

Порты для работы FTP-сервера в пассивном режиме.
На самом деле, есть масса примеров в которых необходимо прокинуть группу портов. Например, всеми любимые торрент-клиенты. У торрент-клиентов есть обширная область портов которые они хотят видеть снаружи. Даже IP-телефония может потребовать пробросить группу портов.
Надеюсь, что данный пост поможет понять, что Cisco довольно гибкий инструмент, но он предназначен для решения задач корпоративного значения, а не для реализации костылей, которые используются в маленьких компаниях.
Этот сайт использует файлы cookies, чтобы упростить вашу навигацию по сайту, предлагать только интересную информацию и упростить заполнение форм. Я предполагаю, что, если вы продолжаете использовать мой сайт, то вы согласны с использованием мной файлов cookies. Вы в любое время можете удалить и/или запретить их использование изменив настройки своего интернет-браузера.
Сообщайте мне о замеченных ошибках на: web@orcinus.ru. Все пожелания и советы будут учтены при дальнейшем проектировании сайта. Я готов сотрудничать со всеми желающими. В некоторых случаях, мнение автора может не совпадать с мнением автора! Phone: