Azure VM にデプロイされた FTP サーバーに接続しようとしたときにエラーが発生しました

Azure VM にデプロイされた FTP サーバーに接続しようとしたときにエラーが発生しました

Azure VM にデプロイされた FTP サーバーに接続しようとすると、次のエラーが発生します。

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 over TLS を有効にし、証明書も生成しました。

私のポートの受信ルール(18183も追加されました)。

注: FileZilla サーバーによって提案されたポートは使用していません。

答え1

あなたが提供したエラーログによると、FTPクライアントはFTPサーバーに接続しています。パッシブモード

このモードでは、FTP クライアントは次の 2 つのチャネルを使用します。

  • 制御チャネル(あなたの場合はポート18183でリッスンしています)、サーバーにコマンドを送信します
  • データチャネル(コマンドで示されているように、ポート100、113、144、72、210、89をリッスンしてPASV)データを送受信する

この 2 チャネル モードでは、データの送受信中でもコマンドを発行できます。

あなたの場合、VM および/またはネットワーク セキュリティ グループ (使用している場合) の一部のポートが開いていないと思われます。したがって、対応する ACL (アクセス制御リスト) を作成するか、VM に関連付けられているネットワーク セキュリティ グループの受信ルールを更新して、ポート 100、113、144、72、210、89 で TCP アクセスを許可する必要があります。

答え2

私たちも同じ問題を抱えています。Azure RM VMはAVSETのインターネットロードバランサーの背後にあり、すべてのNSGルールは特定のポートで開いており、Windowsファイアウォールはオフになっています。データチャネルポートの正しい定義については、http://www.serv-u.com/respcode.asp?resp=227

エラー: NAT ルーターの背後にいるようです。パッシブ モード設定を構成し、ルーターのポートの範囲を転送してください。

回答: データ チャネルのポート範囲と同じポートのロード バランサーに NAT ルールを追加することで、FileZilla サーバーを使用して動作させることができました。これには PS も使用できます。$LoadBalancer | Add-AzureRmLoadBalancerInboundNatRuleConfig -Name $NatRuleName -FrontendIpConfiguration $frontendIP1 -IdleTimeoutInMinutes 4 -Protocol TCP -FrontendPort 5000 -BackendPort 5000 | Set-AzureRmLoadBalancer

関連情報