Azure の新しい VM で FTP に接続するのに苦労しています。
デフォルトのイメージ (Windows Server 2012 Datacenter) から新しい仮想マシンを作成し、新しい VM に RDP 接続しました。次に、FTP サーバーを含む Web サーバー (IIS) の役割を有効にし、Web Platform Installer の推奨設定を使用して IIS を構成しました。次に、IIS マネージャーの [FTP サイトの追加...] ウィザードを使用して、ルート%systemdrive%\inetpub\ftproot
を持つ FTP サイトを追加し、匿名認証が有効になるように ftp サイトを設定し、匿名ユーザーに読み取りアクセスを許可し、データ チャネルのポート範囲を 7000 ~ 7014 に設定します。 Azure 管理ポータルの VM のダッシュボードから、ファイアウォールの外部 IP アドレスをパブリック仮想 IP (VIP) アドレスとして指定します。
ファイアウォールも、FTP サーバーを許可するように構成されています。
この時点で、FTP サービスは機能しています。RDP セッションで VM でコマンド プロンプトを開くと、次のように表示されるため、わかっています。
C:\Users\slife>ftp 127.0.0.1
Connected to 127.0.0.1.
220 Microsoft FTP Service
User (127.0.0.1:(none)): ftp
331 Anonymous access allowed, send identity (e-mail name) as password.
Password:
230 User logged in.
ftp>
しかし、他の場所からは接続できません。
C:\Users\timregan>ftp 111.111.111.33
Connected to 111.111.111.33.
Connection closed by remote host.
それは私が得るFileZillaのコマンドプロンプトからのものです
Status: Connecting to 111.111.111.33:21...
Status: Connection established, waiting for welcome message...
Error: Could not connect to server
私はロナルドのチュートリアルに従いました: Windows Azure VM の IIS 7.5 で FTP をホストし、ポート 21 (FTP コマンド ポート) と 20 (FTP データ ポート) へのアクセスを許可する 2 つのエンドポイントを追加し、彼の Azure Powershell の提案を使用して追加しましたパッシブ ポート エンドポイント、たとえば
Get-AzureVM -ServiceName 'blah' -Name 'blah' | Add-AzureEndpoint -Name 'FTPPassive00' -Protocol 'TCP' -LocalPort 7000 -PublicPort 7000 | Update-AzureVM
これは、VM の Azure 管理のエンドポイントの一覧に表示されます。
外部から IIS の FTP サーバーに接続できないのはなぜですか? 障害を診断するにはどうすればよいですか?
========== 編集 1 ==========
haxor で機能するソリューションが問題を解決する可能性があるかどうか疑問に思いました。これは、Windows Azure Virtual Machines フォーラムの「 Server 2012 VM on Azure - Passive FTP Won't Work 」への回答を参照しており、パッシブ エンドポイントで Azure Portal によってプローブが構成されている場合、プローブが機能しない可能性があることに注意してください。回答では、ポータルの最新バージョンでこれが修正されていることが示されていますが、Azure Powershell コマンドレット Add-AzureEndpoint を使用して、プローブが開始されないようにすることを提案しています。Azure Powershell コマンドレット Get-AzureEndpoint で確認しましたが、どの ftp エンドポイントにもプローブがないため、ここでの問題ではありません。
==========編集2 ==========
IIS8 と Windows Azure Virtual Machines のパッシブ FTP と動的ポートで、元のチュートリアルでは言及されていない手順に気付きました: Windows ファイアウォールでデータ チャネル ポート範囲 (7000-7014) を開きます。それを行うための受信ルールを追加しました。まだ接続できません。