Какие порты пробросить для ftp
Перейти к содержимому

Какие порты пробросить для ftp

  • автор:

Записки IT специалиста

Протокол FTP применяется давно и на первый взгляд предельно прост. Однако эта простота кажущаяся и многие начинают испытывать проблемы с установлением FTP-соединения, особенно когда сервер или клиент находятся за брандмауэром или NAT’ом. Поэтому сегодня мы поговорим об особенностях работы протокола FTP в различных режимах.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Протокол FTP является старейшим сетевым протоколом (создан в 1971 году), но, тем не менее, широко используется по сей день. Важной особенностью протокола является то, что он использует несколько соединений: одно для управляющих команд, остальные для данных. Причем соединений для передачи данных может открываться несколько, в каждом из которых файлы могут передаваться в обоих направлениях. Именно с этой особенностью и связан ряд проблем.

В зависимости от способа установления соединения для передачи данных различают активный и пассивный режимы работы FTP. В активном режиме сервер сам устанавливает соединение передачи данных к клиенту, в пассивном наоборот. Рассмотрим эти режимы более подробно.

Активный режим

ftp-features-001.jpg

В активном режиме клиент устанавливает управляющее соединение на порт 21 сервера и передает специальную команду PORT, в которой указывает свой адрес и порт для передачи данных. Получив данную команду, сервер устанавливает соединение с 20 порта на указанный в команде порт клиента.

Внимательный читатель сразу заметит недостаток данного метода: для работы в активном режиме клиенту требуется выделенный IP-адрес. Также определенные сложности будут возникать при нахождении клиента за брандмауэром или NAT’ом.

Пассивный режим

ftp-features-002.jpg

Для установления соединения в пассивном режиме клиент передает серверу команду PASV. В ответ сервер передает адрес и порт, на который следует устанавливать соединение для передачи данных. Получив эту информацию, клиент устанавливает подключение к серверу и начинает передачу данных.

Как видим, в пассивном режиме все соединения инициирует клиент и поэтому к нему нет никаких требований, он может находиться за NAT и брандмауэром, а также не иметь выделенного IP-адреса. Поэтому на сегодняшний день основным режимом работы FTP является пассивный.

Проблема брандмауэра

В активном режиме основная проблема возникает у клиента. Если брандмауэр настроен отбрасывать не инициированные изнутри входящие соединения, то сервер не сможет установить соединение для передачи данных. А так как порт для данных является динамическим, то возникают определенные сложности с настройкой брандмауэра. Наиболее правильным будет указать в клиенте диапазон используемых портов и создать для них разрешающее правило брандмауэра.

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

Проблема NAT

На первый взгляд может показаться, что для нормальной работы FTP-сервера через NAT требуется только правильно настроить форвардинг портов. Однако это не так. Если вы внимательно читали про работу протокола в начале статьи, то должны были запомнить, что в зависимости от режима сервер или клиент передают адрес и порт для соединения. А теперь задумаемся, какой адрес передаст сервер, находящийся за NAT? Правильно, внутренний и, несмотря на правильный проброс портов, клиент не сможет подключиться к такому серверу.

К счастью, большинство современных реализаций NAT умеют отслеживать управляющий канал FTP-соединения и заменяют внутренний адрес сервера адресом внешнего интерфейса. Однако, несмотря на это большинство FTP-серверов имеют опцию, позволяющую указать адрес внешнего интерфейса, который следует указывать в командах управляющей сессии.

ftp-features-003.jpg

В большинстве случаев для нормальной работы FTP-сервера за NAT достаточно будет пробросить 21 порт для управляющей сессии, 20 — для активного режима (если используется), а также указать и пробросить диапазон динамических портов для передачи данных.

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

Надеемся, что данная статья поможет вам лучше понять механизм работы протокола FTP и осознанно подойти к процессу настройки и диагностики.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Дополнительные материалы:

  1. Простой FTP-сервер на базе Ubuntu (vsftpd)
  2. Особенности работы протокола FTP
  3. Настраиваем FTP-сервер с виртуальными пользователями на базе vsftpd

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Подпишись на наш Telegram-канал

Или подпишись на наш Телеграм-канал:

Проброс портов для ftp-сервера

Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Вам необходимо обновить браузер или попробовать использовать другой.

Оцените эту тему

alexDok
новичок

18 Авг 2020 4 0 3 43

Доброго всем дня!
Имеется следующая топология (см. рис.1):
Провайдер через РРРоЕ приходит на EdgeRouter 6P ER-6P, с которого далее уходит на UniFi Switch US-8-60W и NAS (NETGEAR RN214).
На UniFi Switch US-8-60W висят: UniFi AP-AC-Pro, IP-камера, UniFi Cloud Key (см. вложение)
На NAS настроен ftp-сервер, в сетевом интерфейсе камеры прописан его адрес (ftp-сервера). Камера пишет события на указанный ftp-сервер (см. рис.1)

Задача – настроить внешний доступ на ftp-сервер NAS.

Прописываю правило переброски порта на EdgeRouter 6P ER-6P (см. рис.2) – результата нет.
Возможно, что-то не доделано.
В связи с этим буду признателен за толковую консультацию и помощь.

Вложения

Рисунок 1.png

70,8 KB Просмотры: 440

Рисунок 2.jpg

38,9 KB Просмотры: 448

dimacbz
Moderator

16 Июн 2014 1.494 242 75

Обратите внимание в инструкции на строку: Check: Enable auto firewall

alexDok
новичок

18 Авг 2020 4 0 3 43

Обратите внимание в инструкции на строку: Check: Enable auto firewall

Спасибо, попробую!
По результату — отпишусь дополнительно.

alexDok
новичок

18 Авг 2020 4 0 3 43

Обратите внимание в инструкции на строку: Check: Enable auto firewall

7710

К сожалению, не помогло.
Он не видит на внешнем порту запросы по 21

workubnt
знающий

25 Мар 2018 346 91 30

а почему both? tcp поставить!
+ Провайдер через РРРоЕ, значит wan interface pppoe0

если в статье:
Original port: 443
Protocol: TCP
Forward-to address: 192.168.1.10
Forward-to port: 443
Description: https

set port-forward auto-firewall enable
set port-forward hairpin-nat enable
set port-forward wan-interface eth0
set port-forward lan-interface eth1

set port-forward rule 1 description https
set port-forward rule 1 forward-to address 192.168.1.10
set port-forward rule 1 forward-to port 443
set port-forward rule 1 original-port 443
set port-forward rule 1 protocol tcp

commit ; save
*
Если не получится, то в firewall policies надо будет вписывать.

alexDok
новичок

18 Авг 2020 4 0 3 43

а почему both? tcp поставить!
+ Провайдер через РРРоЕ, значит wan interface pppoe0

если в статье:
Original port: 443
Protocol: TCP
Forward-to address: 192.168.1.10
Forward-to port: 443
Description: https

set port-forward auto-firewall enable
set port-forward hairpin-nat enable
set port-forward wan-interface eth0
set port-forward lan-interface eth1

set port-forward rule 1 description https
set port-forward rule 1 forward-to address 192.168.1.10
set port-forward rule 1 forward-to port 443
set port-forward rule 1 original-port 443
set port-forward rule 1 protocol tcp

commit ; save
*
Если не получится, то в firewall policies надо будет вписывать.

Поменял интерфейс на PPPoE — картина более обнадеживающая.
Но, результата нет.
Что мешает, не пойму.
В Firewall Policies — так же все три правила прописывать?

MikroTik.by

For every complex problem, there is a solution that is simple, neat, and wrong.

  • Список форумовФорум по операционной системе MikroTik RouterOSОбщие вопросы
  • Поиск

Проброс портов на ftp сервер

Базовая функциональность RouterOS

Musulmanin Сообщения: 434 Зарегистрирован: 06 авг 2019, 15:44 Откуда: Оренбург Контактная информация:

Проброс портов на ftp сервер

Сообщение Musulmanin » 18 сен 2020, 16:38

Добрый день!
Настроил ftp сервер. По 127.0.0.1 Заходит.
В брандмаэре разрешил вход
Как мне в микротике настроить?
Насколько я понял это мне сюда IP-Firewall- NAT
Потом что писать?

Учиться учиться и еще раз учиться!
https://vk.com/orenburgit

Musulmanin Сообщения: 434 Зарегистрирован: 06 авг 2019, 15:44 Откуда: Оренбург Контактная информация:

Re: Проброс портов на ftp сервер

Сообщение Musulmanin » 18 сен 2020, 16:49

Пробросил но по Ip не заходит по белому, хотя порт открыт?
Вложения Порт.PNG (23.75 КБ) 8753 просмотра
Учиться учиться и еще раз учиться!
https://vk.com/orenburgit
Chupaka Сообщения: 3927 Зарегистрирован: 29 фев 2016, 15:26 Откуда: Минск Контактная информация:

Re: Проброс портов на ftp сервер

Сообщение Chupaka » 18 сен 2020, 16:52

Во-первых, если по 127.0.0.1 заходит — это вовсе не значит, что будет заходить по сети. Лучше проверять по IP компьютера в локальной сети.

В Firewall надо включить «ftp» в Service Ports и в NAT добавить правило в цепочке dstnat для проброса (action=dst-nat) порта 21 на нужный IP

Chupaka Сообщения: 3927 Зарегистрирован: 29 фев 2016, 15:26 Откуда: Минск Контактная информация:

Re: Проброс портов на ftp сервер

Сообщение Chupaka » 18 сен 2020, 16:53

Что значит «не заходит»? Какая ошибка?

Musulmanin Сообщения: 434 Зарегистрирован: 06 авг 2019, 15:44 Откуда: Оренбург Контактная информация:

Re: Проброс портов на ftp сервер

Сообщение Musulmanin » 18 сен 2020, 17:06

По Ip 192.168.88.2 заходит.
Настроил ftp в пассивном режиме только не понял зачем сверху порты указал диапозон видео смотрел не понял?

Вложения ftp.PNG (68.32 КБ) 8752 просмотра
Учиться учиться и еще раз учиться!
https://vk.com/orenburgit

Musulmanin Сообщения: 434 Зарегистрирован: 06 авг 2019, 15:44 Откуда: Оренбург Контактная информация:

Re: Проброс портов на ftp сервер

Сообщение Musulmanin » 18 сен 2020, 17:07

Вот так пробрасывал.
Вложения 2.PNG (17.29 КБ) 8752 просмотра 1.PNG (23.25 КБ) 8752 просмотра
Учиться учиться и еще раз учиться!
https://vk.com/orenburgit

Musulmanin Сообщения: 434 Зарегистрирован: 06 авг 2019, 15:44 Откуда: Оренбург Контактная информация:

Re: Проброс портов на ftp сервер

Сообщение Musulmanin » 18 сен 2020, 17:09

Вот такая ошибка
Не удается открыть эту страницуОтказано в подключении к сайту 188.168.181.254.
Поиск с помощью Bing по запросу «188 168 181 254»
ERR_CONNECTION_REFUSED

Учиться учиться и еще раз учиться!
https://vk.com/orenburgit

Musulmanin Сообщения: 434 Зарегистрирован: 06 авг 2019, 15:44 Откуда: Оренбург Контактная информация:

Re: Проброс портов на ftp сервер

Сообщение Musulmanin » 18 сен 2020, 17:15

Что не так помогите пожалуйста.
Учиться учиться и еще раз учиться!
https://vk.com/orenburgit

Musulmanin Сообщения: 434 Зарегистрирован: 06 авг 2019, 15:44 Откуда: Оренбург Контактная информация:

Re: Проброс портов на ftp сервер

Сообщение Musulmanin » 18 сен 2020, 18:19

Вот такая ошибка
Вложения EDGE.PNG (28.81 КБ) 8747 просмотров
Учиться учиться и еще раз учиться!
https://vk.com/orenburgit
Chupaka Сообщения: 3927 Зарегистрирован: 29 фев 2016, 15:26 Откуда: Минск Контактная информация:

Re: Проброс портов на ftp сервер

Сообщение Chupaka » 18 сен 2020, 19:11

ERR_CONNECTION_REFUSED — это значит, что порт закрыт.

Custom port range не нужен, с этим должен помогать FTP Service Port, по идее.

Musulmanin Сообщения: 434 Зарегистрирован: 06 авг 2019, 15:44 Откуда: Оренбург Контактная информация:

Re: Проброс портов на ftp сервер

Сообщение Musulmanin » 18 сен 2020, 19:21

Не понял вас.
Сделал вот так подсказали

/ip firewall nat add action=masquerade chain=srcnat comment="defconf: masquerade" ipsec-policy=\ out,none out-interface-list=WAN add action=dst-nat chain=dstnat dst-address=62.33.126.198 dst-port=21 protocol=\ tcp to-addresses=192.168.88.2 to-ports=21 add action=masquerade chain=srcnat dst-address=192.168.88.2 dst-port=21 \ protocol=tcp src-address=192.168.88.0/24 [admin@MikroTik] >> 

Один раз пароль спрашивает ввожу правильно не заходит, второй раз ввожу уже не заходит.
Что не так.
Учиться учиться и еще раз учиться!
https://vk.com/orenburgit

Musulmanin Сообщения: 434 Зарегистрирован: 06 авг 2019, 15:44 Откуда: Оренбург Контактная информация:

FTP СЕРВЕР БЕЗ БЕЛОГО IP АДРЕСА ЧЕРЕЗ ПРОБРОС TCP ПОРТА

Здесь мы рассмотрим настройки системы VPNKI, требуемые для получения доступа из Интернет к серверу FTP. Сам сервер расположен во внутренней сети. Например он расположен у вас дома и не имеет «белого» IP адреса.

Исходные данные для доступа к FTP серверу через проброс TCP порта

Мы хотим получить удаленный доступ к серверу FTP, который расположен у вас дома и не имеет белого IP адреса.

Будем считать, что вы успешно установили VPN туннель с того же самого устройства на котором будет расположен FTP сервер.

То есть, вы получили имя и пароль для туннеля и уже осуществили подключение к VPNKI. Это можно сделать по любому из VPN протоколов. PPTP, L2TP, L2TP/IPsec, IKEv2/IPsec, OpenVPN, SSTP и WireGuard.

Теперь мы хотим сделать доступным в Интернет наш сервер FTP.

Что делаем на сервере VPNKI

Для этого нам потребуется настроить наш FTP сервер. А также активировать услугу VPNKI «Проброс TCP порта» для проброса 2-х портов TCP.

Протокол FTP имеет два режима работы. Один из которых называется пассивным (PASV) и коротко его суть заключается в следующем.

  • Клиент обращается к серверу по контрольному порту. Обычно TCP 21, но может быть и любым.
  • В ответ сервер сообщает клиенту номер своего порта, на котором он будет ожидать прием данных. Обычно это случайный порт из определенного диапазона.
  • Клиент передает данные на этот порт сервера.

Таким образом в соединении задействуются два порта. Контрольный порт и порт для передачи данных.

Для реализации этого взаимодействия через VPNKI настройте проброс портов в личном кабинете.

1. Выберите пункт меню — «Публикация URL и проброс порта» — «Проброс TCP порта». На этой странице нажмите «Настроить проброс для FTP сервера».

ftp сервер без белого IP адреса настроить удаленный доступ

2. Заполните форму. Укажите IP адрес FTP сервера и контрольный порт (обычно по умолчанию 21). Нажмите «Сохранить».

FTP сервер без белого IP адреса настроить проброс порта

3. После автоматической перезагрузки страницы вы увидите выданные вам порты в общей таблице. Система покажет вам какие порты были «выставлены наружу». А также какой порт был выбран в качестве порта для передачи данных.

В данном случае порт для передачи данных FTP сервера — 26252. Теперь именно этот порт вам будет необходимо указать в настройках своего FTP сервера.

FTP сервер без белого IP адреса настроить страница настройки

Обратите внимание, что порт для передачи данных на вашем сервере и 26252 и опубликованный внешний порт системы VPNKI- 26252 совпадают.

Это необходимо для того, чтобы ваш FTP сервер сообщил этот номер подключающемуся клиенту. Как вы помните сервер сообщает порт для передачи данных. Сервер сообщит порт 26252 и именно этот порт будет «слушать» на сервере VPNKI. Затем VPNKI отправит данные на FTP сервер.

Дождитесь применения настроек на сервере VPNKI. Обычно не более 10 минут.

Как настраиваем домашний FTP сервер

Здесь нужно указать пул портов для пассивного режима работы FTP сервера. Для этого в конфигурационном файле FTP сервера найдите описания пула портов.

Например, для сервера vsftpd в файле vsftpd.conf будут содержаться верхняя и нижняя границы пула портов для пассивного режима.

Их можно сделать одинаковыми и заполнить их номером из предыдущего пункта инструкции.

pasv_min_port=26252
pasv_max_port=26252

Таким образом, ваш FTP сервер будет использовать лишь один порт для передач данных. Этого будет достаточно для одного подключения к FTP серверу в один момент времени.

Это все. Теперь перезагрузите приложение FTP сервера для применения новых настроек.

Обращаемся снаружи к вашему FTP серверу

Теперь вы можете обращаться из Интернет к своему ftp серверу. Укажите в настройках подключения адрес.

ftp://msk.vpnki.ru:26166

Надеемся, что все получилось успешно.

*** Если вдруг что-то не получилось, обращайтесь на Форум.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *