vsftp на виртуальной машине Azure - filezilla сообщает частный IP-адрес, отправленный сервером в пассивном режиме

Я настраиваю безопасный 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
задан 6 February 2017 в 18:16
2 ответа

Я тестирую в своей лаборатории, сначала я столкнулся с той же проблемой, что и вы. Я проверил следующие шаги:

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  
  1. Протестируйте с помощью Filezilla.

enter image description here

Примечания: Вы должны открыть порты 20,21,12345-12346 в Azure NSG (правило для входящих подключений)

2
ответ дан 3 December 2019 в 18:31

Вам нужна небольшая модификация. Отредактируйте /etc/vsftpd.conf или любой другой файл конфигурации и сделайте следующее изменение:

pasv_address=public_ip_of_aws_instance_not_hostname_or_private_ip

Сохраните файл, перезапустите службу vsftpd и проверьте снова!

Убедитесь, что пассивные порты шлангов находятся в списке разрешенных TCP в ваших группах безопасности (вы можете настроить их на панели инструментов AWS EC2).

1
ответ дан 3 December 2019 в 18:31

Теги

Похожие вопросы