Вопрос или проблема
Я хочу получить доступ к своему FTP-серверу через интернет. Я запускаю его на Debian, сменил порт на 201, а мой локальный IP — 192.168.1.3
.
Я могу получить к нему доступ с любого компьютера в своей сети через ftp://192.168.1.3:201
. Я вижу страницу входа, вхожу в систему, используя свою учетную запись пользователя Linux, и могу видеть свои файлы.
Чтобы сделать его общедоступным, я настроил переадресацию порта на своем маршрутизаторе для порта 201. Однако теперь, когда я пытаюсь ftp://mypublicip:201
, у меня отображается страница входа, но когда я ввожу логин, она продолжает загружаться бесконечно, не показывая мои файлы.
Странно, что когда я запускаю его через порт по умолчанию (21), все работает нормально.
Может, кто-то может сказать, в чем здесь проблема?
Во-первых, не используйте FTP. Это небезопасно и действительно плохо (кому нужны 30 портов для передачи файла?) Проблема, с которой вы столкнулись, скорее всего, связана с тем, что FTP использует несколько портов. Один для подключения, второй (или третий, четвертый и т.д.) для передачи данных. Это включает в себя передачу списков файлов.
Другой возможностью является то, что браузер отбрасывает ссылку на порт. Internet Explorer очень плохо это делает. Как только вы входите в систему, часто он переименовывает URL с ftp://user:pass@host
на просто ftp://host
, и, поскольку URL больше не указывает имя или пароль, пытается войти анонимно. То же самое может произойти и с портом, но я не знаю о браузере, который вы используете, и является ли это возможным.
Мой совет — СНАЧАЛА НЕ ИСПОЛЬЗОВАТЬ FTP. Используйте SSH. Это шифрование. FTP отправляет ваш пароль через общедоступный интернет в открытом виде, просто для информации. Я рекомендую следующий URL по другим причинам.
Ответ или решение
Для доступа к FTP-серверу через интернет с использованием нестандартного порта, необходимо учитывать несколько важных аспектов. Ваша ситуация описывает проблему с доступом к файлам на FTP-сервере, который был настроен на порту 201. Хотя при локальном доступе через адрес ftp://192.168.1.3:201
все работало без проблем, доступ через публичный IP-адрес вызывает сложности с загрузкой файлов после логина.
Проблема и ее причины
-
Многопортовая структура FTP:
FTP-серверы работают по протоколу, который использует несколько портов. Стандартный порт – 21, на котором устанавливается управляющее соединение (control connection). Однако для передачи данных (data connection), особенно в пассивном режиме, протокол FTP использует дополнительные порты.
Если вы изменили порт на 201, то, скорее всего, ваша конфигурация FTP-сервера не настроена корректно для передачи данных на этом порту. Вам необходимо убедиться, что сервер FTP слушает не только на порту 201, но и на дополнительных портах для передачи данных. -
Настройки маршрутизатора (Роутера):
На вашем маршрутизаторе нужно также настроить перенаправление на эти дополнительные порты. Убедитесь, что создано правило NAT (Network Address Translation) для перенаправления всех необходимых портов. Обычно это:- Порт 201 (управляющий)
- Конкретные порты для передачи данных (по умолчанию это диапазон портов 49152-65534, если у вас пассивный режим).
Решения и рекомендации
-
Настройка FTP-сервера:
Если вы используетеvsftpd
,proftpd
или другой FTP-сервер, убедитесь, что вы правильно настроили его для работы с нестандартными портами. Например, дляvsftpd
можно использовать следующие параметры в конфигурационном файлеvsftpd.conf
:listen_port=201 pasv_enable=YES pasv_min_port=50000 pasv_max_port=51000
-
Проверка маршрутизатора:
Убедитесь, что все порты перенаправлены на локальный IP-адрес вашего сервера192.168.1.3
. Проверяйте правила брандмауэра, чтобы разрешить доступ к этим портам. -
Безопасность:
Рекомендуется рассмотреть возможность перехода на более безопасные протоколы для передачи данных, такие как SFTP или FTPS, которые обеспечивают шифрование. FTP передает данные в открытом виде, что может представлять угрозу безопасности.
Заключение
Использование FTP на нестандартном порту требует правильной настройки как сервера, так и устройства маршрутизации. Всегда помните, что безопасность ваших данных имеет первостепенное значение. Рассмотрите возможность использования более современных протоколов, таких как SFTP, для повышения уровня защиты и удобства.
Если у вас есть дополнительные вопросы или вам нужна помощь в настройке, не стесняйтесь обращаться за консультацией.