После ввода имени пользователя/пароля FTP-сервер не отвечает?

Вопрос или проблема

Я настроил виртуальную машину Azure с Windows Server 2012 R2. Я также настроил FTP-сервер IIS 8.5. Когда я получаю доступ к сайту, используя URL localhost на том же сервере, я получаю запрос на имя пользователя/пароль, и когда я ввожу имя пользователя/пароль, я получаю успешный ответ. Но если я получаю доступ к тому же сайту, используя DNS-имя (*.cloudapp.net) с того же сервера или с удаленной машины, то я получаю запрос на имя пользователя/пароль, но когда я ввожу имя пользователя/пароль и нажимаю кнопку “Войти”, сервер не отвечает, браузер загружает бесконечно.

Вот журнал FileZilla:

Статус: Разрешение адреса XXX.cloudapp.net
Статус: Подключение к XX.XX.XX.XX:21...
Статус: Соединение установлено, ожидаем приветственное сообщение...
Ответ:   220 Microsoft FTP Service
Команда:    USER XXX
Ответ:   331 Требуется пароль
Команда:    PASS **************
Ответ:   230 Пользователь вошел.
Команда:    OPTS UTF8 ON
Ответ:   200 Команда OPTS UTF8 выполнена успешно - UTF8-кодировка теперь включена.
Статус: Подключено
Статус: Получение списка директорий...
Команда:    PWD
Ответ:   257 "https://superuser.com/" - текущая директория.
Команда:    TYPE I
Ответ:   200 Тип установлен на I.
Команда:    PASV
Ответ:   227 Вход в пассивный режим (100,73,170,123,193,12).
Команда:    LIST
Ответ:   150 Открыто бинарное соединение данных.
Ошибка:  Время подключения истекло
Ошибка:  Не удалось получить список директорий

Перейдите в настройки FileZilla.

Измените настройки FTP.

Вместо пассивного режима выберите активный режим и нажмите ОК.

Попробуйте сейчас, это сработает.

Azure не разрешает пассивный FTP, вот в чем трудность.

Ответ или решение

Когда вы настраиваете FTP-сервер на Azure VM с Windows Server 2012 R2 и сталкиваетесь с проблемой, что после ввода имени пользователя и пароля FTP-сервер не отвечает, это может быть связано с несколькими факторами. Мы рассмотрим возможные причины данной проблемы и предложим решения.

Фоновые факторы

На вашем FTP-сервере с IIS 8.5 все работает корректно при доступе через локальный адрес, однако, при попытке соединения через DNS имя (cloudapp.net) возникает проблема с подключением после успешной аутентификации. Ваша диагностика через FileZilla показывает, что соединение устанавливается, но происходит тайм-аут при попытке извлечь список каталогов.

Причины проблемы

  1. Настройки FTP в Azure: Azure имеет специфические ограничения на использование режима пассивного FTP. В случае использования пассивного режима клиент FTP ожидает подключения на определенные порты, которые могут быть закрыты в рамках правил межсетевого экрана Azure. Это может привести к проблемам с передачей данных и к бесконечному ожиданию отклика от сервера.

  2. Настройки Firewall: Мешающее правило в межсетевом экране Azure может блокировать порты, используемые для передачи данных в пассивном режиме.

  3. Проблемы с NAT: В случае, если ваш сервер находится за NAT (сеть с трансляцией адресов), это может вызвать трудности с маршрутизацией трафика, особенно в пассивном режиме.

Решения

Чтобы устранить проблему и обеспечить стабильное подключение к вашему FTP-серверу, рекомендуется следующее:

  1. Переключение на активный режим FTP:

    • Как вы уже выяснили, изменение настроек FTP-клиента (например, FileZilla) с пассивного на активный режим может решить проблему. Активный режим избегает некоторых ограничений, связанных с NAT и межсетевым экраном.
  2. Настройка Azure Network Security Group (NSG):

    • Перейдите в настройки вашей группы безопасности сети (NSG) в Azure и убедитесь, что необходимые порты открыты. Для активного режима FTP обычно используются порты 20 и 21, также убедитесь, что порты 1024-65535 открыты для входящих соединений, если вы планируете использовать активный режим.
  3. Проверка конфигурации IIS:

    • Убедитесь, что в настройках IIS FTP правильно указан адрес для передачи данных. Для активного режима это может быть внутренний IP адрес машины.
  4. Мониторинг сетевого трафика:

    • Используйте инструменты для мониторинга сетевого трафика (например, Wireshark) для диагностики соединения. Это поможет выявить, где происходит задержка или сбой при попытке передачи данных.
  5. Логи и диагностика:

    • Проводите регулярные проверки логов IIS для выявления ошибок или предупреждений. Это может предоставить подсказки касаемо того, что именно идет не так при попытке подключения.

Заключение

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

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

Капча загружается...