Ошибка при попытке подключения к FTP-серверу, развернутому на моей виртуальной машине Azure

Ошибка при попытке подключения к FTP-серверу, развернутому на моей виртуальной машине Azure

При попытке подключения к FTP-серверу, развернутому на моей виртуальной машине Azure, возникает следующая ошибка.

Warning: Selected port (18183) is not the default port (21) of the selected protocol.
Warning: The entered address does not resolve to an IPv6 address.
Status: Connected, waiting for welcome message...
Reply: 220-FileZilla Server 0.9.56 beta
Reply: 220-written by Tim Kosse ([email protected])
Reply: 220 Please visit https://filezilla-project.org/
Command: CLNT https://ftptest.net on behalf of 168.63.97.45
Reply: 200 Don't care
Command: AUTH TLS
Reply: 234 Using authentication type TLS
Status: Performing TLS handshake...
Status: TLS handshake successful, verifying certificate...
Command: USER Usera
Reply: 331 Password required for rheinenergie-klima
Command: PASS **********************
Reply: 230 Logged on
Command: SYST
Reply: 215 UNIX emulated by FileZilla
Command: FEAT
Reply: 211-Features:
Reply: MDTM
Reply: REST STREAM
Reply: SIZE
Reply: MLST type*;size*;modify*;
Reply: MLSD
Reply: AUTH SSL
Reply: AUTH TLS
Reply: PROT
Reply: PBSZ
Reply: UTF8
Reply: CLNT
Reply: MFMT
Reply: EPSV
Reply: EPRT
Reply: 211 End
Command: PBSZ 0
Reply: 200 PBSZ=0
Command: PROT P
Reply: 200 Protection level set to P
Command: PWD
Reply: 257 "/" is current directory.
Status: Current path is /
Command: TYPE I
Reply: 200 Type set to I
Command: PASV
Reply: 227 Entering Passive Mode (100,113,144,72,210,89)
Command: MLSD
Reply: 425 Can't open data connection for transfer of "/"
Error: Listing failed

Я пробовал искать на нескольких форумах, но не смог найти конкретного ответа. До сих пор я пробовал его в активном и пассивном режиме и тестировал его черезhttps://ftptest.net.

У меня включен FTP через TLS, и я также сгенерировал сертификат.

Правила входящего трафика для моего порта (также добавлен порт 18183).

Примечание: я не использую порт, предложенный сервером FileZilla.

решение1

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

В этом режиме FTP-клиент использует 2 канала:

  • Theканал управления(в вашем случае прослушивается порт 18183), чтобы отдавать команды серверу
  • Theканал данных(прослушивание портов 100,113,144,72,210,89, как показано в PASVкоманде), для отправки/получения данных

Этот двухканальный режим позволяет подавать команды во время отправки/получения данных.

В вашем случае я подозреваю, что некоторые порты в вашей виртуальной машине и/или группе сетевой безопасности (если вы ее используете) не открыты. Поэтому вам нужно создать соответствующий ACL (список контроля доступа) или обновить входящие правила в группе сетевой безопасности, связанной с вашей виртуальной машиной, чтобы разрешить TCP-доступ на портах 100,113,144,72,210,89.

решение2

у нас та же проблема, так как наши Azure RM vms находятся за балансировщиком интернет-нагрузки в avset, и все правила NSG открыты на определенных портах, брандмауэр Windows отключен. Правильное определение порта канала данных см.http://www.serv-u.com/respcode.asp?resp=227

Ошибка: Похоже, вы находитесь за маршрутизатором NAT. Настройте параметры пассивного режима и перенаправьте диапазон портов в вашем маршрутизаторе.

Ответ: Я заставил это работать с помощью сервера Filezilla, добавив правила NAT на балансировщик нагрузки на том же порту, что и диапазон портов канала данных. Вы также можете использовать PS для этого$LoadBalancer | Add-AzureRmLoadBalancerInboundNatRuleConfig -Name $NatRuleName -FrontendIpConfiguration $frontendIP1 -IdleTimeoutInMinutes 4 -Protocol TCP -FrontendPort 5000 -BackendPort 5000 | Set-AzureRmLoadBalancer

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