При остановке работы активного режима FTP после смены порта сервера

При остановке работы активного режима FTP после смены порта сервера

Я использую proftpd на своем сервере (Ubuntu 16.04 x86_64).

По умолчанию proftpd использует стандартный порт 21. Я могу подключиться с домашнего ноутбука к ftp в активном режиме без проблем.

Теперь я останавливаю proftpd, меняю порт с 21 на 10021, снова запускаю службу. И теперь я не могу подключиться в активном режиме, только в пассивном.

  1. Что изменилось?

  2. Также я не могу понять, почему работает активный режим? У меня есть доступ в интернет через роутер. Я не перенаправляю порты на свой ноутбук на роутере. Так как сейчас при подключении мой ноутбук (ftp-клиент) создает соединение с какого-то порта > 1023 на серверный порт 21. Мой ноутбук также отправляет на сервер второй (данные) порт, а сервер подключается со своего порта 20 ко мне с этим портом данных. Но как установить второе соединение, если мои порты закрыты из wan?

решение1

Ваш брандмауэр (маршрутизатор) имеет помощника по отслеживанию подключений для FTP. Когда он видит управляющее соединение FTP (которое он распознает по порту назначения TCP == 21), он отслеживает команды. Когда он видит, что ваш клиент отправляет команду PORT, он переписывает ее (на ваш внешний IP-адрес и, возможно, на другой порт) и отслеживает ожидаемое соединение с FTP-сервера. Когда это соединение приходит, оно пропускается.

При изменении порта ничего этого не произошло, поскольку 10021 не распознается как управляющее FTP-соединение.

По крайней мере, в Linux эта функция представлена ​​модулем, и при желании nf_conntrack_ftpможно включить опцию 10021.ports

PS: Подобную вещь можно сделать с помощью брандмауэра перед сервером, но наоборот: это делается для передач в пассивном режиме, а не в активном.

Связанный контент