Я настраиваю безопасный FTP-сервер на машине Ubuntu 16.04 в Azure. Это FTP через TLS с отключенным анонимным доступом.
Попытка использовать сервер с помощью Filezilla работает нормально - аутентификация, передача, список каталогов - все ... кроме того, что я получаю следующее предупреждение от Filezilla:
Сервер отправил пассивный ответ с немаршрутизируемым адресом. Использование сервера с отключенным анонимным доступом.
Попытка использовать сервер с помощью Filezilla работает нормально - аутентификация, передача, список каталогов - все ... кроме того, что я получаю следующее предупреждение от Filezilla:
Сервер отправил пассивный ответ с не маршрутизируемым адресом. Использование сервера с отключенным анонимным доступом.
Попытка использовать сервер с помощью Filezilla работает нормально - аутентификация, передача, список каталогов - все ... кроме того, что я получаю следующее предупреждение от Filezilla:
Сервер отправил пассивный ответ с не маршрутизируемым адресом. Использование сервера вместо этого адреса.
Конечно, это имеет смысл - виртуальная машина имеет частный IP-адрес и в пассивном режиме отправляет этот частный IP-адрес клиенту. Решение - добавить в vsftp.conf следующее (это пример, а не фактическая конфигурация):
pasv_enable=YES port_enable=YES #The VM allows connections to ports 12345 & 12346 - remember, this is an example pasv_min_port=12345 pasv_max_port=12346 #The VM's domain name pasv_address=myftpservervm.cloudapp.net #Make vsftp resolve myftpservervm.cloudapp.net and send that IP address to clients pasv_addr_resolve=YES
Затем я перезапускаю vsftp, и ... ничего не происходит. Я все еще получаю эти:
Сервер отправил пассивный ответ с не маршрутизируемым адресом. Использование сервера адрес вместо этого.
Я даже попытался установить
pasv_address
на точный (внешний) IP-адрес сервера (с и безpasv_addr_resolve = YES
), и результат тот же.Я что-то упускаю?
Я использую vsftpd 3.0.3 (из репозитория Ubuntu) с Filezilla 3.24.0 на Ubuntu 16.04 x64
Редактировать:
Очевидно vsftp отправляет IP-адрес
0.0.0.0
при переходе в пассивный режим. Эта проблема кажется актуальной.
Я тестирую в своей лаборатории, сначала я столкнулся с той же проблемой, что и вы. Я проверил следующие шаги:
1. netstat -ant
Я получаю следующий результат
tcp6 0 0 172.17.1.4:21 167.220.255.56:10979 TIME_WAIT
Исходя из моего опыта, ftp должен прослушивать tcp
не tcp6
на виртуальной машине Azure
2. Я пытаюсь изменить файл конфигурации /etc/vsftpd.conf
.
listen=yes
listen_ipv6=no
Затем я перезапускаю службу ftp и проверяю, используя netstat -ant
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
Примечания: Вы должны открыть порты 20,21,12345-12346 в Azure NSG (правило для входящих подключений)
Вам нужна небольшая модификация. Отредактируйте /etc/vsftpd.conf или любой другой файл конфигурации и сделайте следующее изменение:
pasv_address=public_ip_of_aws_instance_not_hostname_or_private_ip
Сохраните файл, перезапустите службу vsftpd и проверьте снова!
Убедитесь, что пассивные порты шлангов находятся в списке разрешенных TCP в ваших группах безопасности (вы можете настроить их на панели инструментов AWS EC2).