FTPがハングする:150 ASCIIモードのデータ接続を開く


15

Windows 2008サーバー(R2)でFTPサーバーをセットアップしています。

すべてが正しくインストールされているように見えますが、FTPクライアントを使用してFTPサーバーにログインするのに問題があります。

サーバー上でリモートデスクトップを実行でき、DOSコマンドを使用してかなり簡単にログインできます。

しかし、「DIR」などのコマンドを発行すると、次のようにハングします。150 ASCIIモードのデータ接続を開きます。

私が調査したすべてのものは、ファイアウォールポートやパッシブ/アクティブモード設定のポイントを読み取ります。

気になるのは... DOS FTPコマンドを使用している場合、アドレスとして「localhost」を使用している場合にのみ、ログインして「DIR」コマンドを使用できます。

完全なFTP URLを指定すると、ハングエラーが発生します。

「localhost」URLを指定した場合、エラーは表示されません。

これにより、ファイアウォールの問題(またはIIS7の問題)を信じるようになりますが、どのポートを開く必要があるかわかりません。

Windowsファイアウォールでポート20、21を開いています。また、AWS(Amazon)ファイアウォールでこれらのポートを開きました。

FTPクライアントが、2つのファイアウォールのいずれかによってブロックされる可能性のある長距離ポート番号を使用していると思われます。ネットワーク監視ツールを使用して、呼び出しているポートを確認しようとしましたが、それを把握できません。

アイデア、ヒント、トリック、ヘルプはありますか?

回答:


9

FTPサーバーとFTPクライアントは、FTPの「制御チャネル」を使用して、データの転送に使用されるポート(「dir」または「ls」を実行する場合のディレクトリリストを含む)をネゴシエートします。したがって、「AWSファイアウォール」がこのチャネルでプロトコル検査を行っていない場合、トラフィックフローを許可するために動的に開く必要があるポートを知る方法はありません(これらのポートが使用されなくなったら閉じます)。

ネットワーク監視を使用してどのポートが使用されているかを検出するIMHOは、これらのポートが新しいFTPセッションごとに変更されるため、努力する価値はありません。

既にそれを行っていない限り、この問題のトラブルシューティングで私の最善の策は、FTPサーバーを保護しているファイアウォールの調整を探すことです(質問を正しく理解している場合、これは「AWSファイアウォール」になります) FTPプロトコルの検査を有効にする任意の「ノブ」です。


6

lsコマンドを使用して、UbuntuコマンドラインからUNIX FTPホストサーバーに保存されているファイルを一覧表示しようとすると、同じメッセージが表示されました。ftp ftp.example.comメッセージが表示されたら、ユーザー名とパスワードを使用して正常にログインできました。しかし、私は150 Opening ASCII mode data connectionメッセージを受け取り、何も起こりませんでした。次に、-pコマンドでオプションを入力し(ファイアウォールを処理するために「パッシブ」モードに変更する)、それが機能しました。

 ftp -p ftp.example.com

プロンプトが表示されたらユーザー名とパスワードを入力するlsと、やなどのコマンドcdが機能します。このコマンドを入力しても同じことができると思いますが、テストしていません。

pftp ftp.example.com

質問がWindowsに関係していることは知っています。ただし、このヒントは投稿する価値があると考えられ、同じエラーが生成されました。


すごい..すぐに助けてくれた
Sambhav Sharma

5

接続が停止した理由に関する実際の情報を取得するには、すべてのプロトコルコマンドを記録するクライアントを使用して、実際に何が起こっているのかを確認する必要があります。ここにサンプルログを含むFTPの良いサイトがあります。

おそらく、どちらか

  1. クライアントが(ダム、またはSSLブロック)ファイアウォールの背後にあり、アクティブモードFTPを使用しようとしている
  2. サーバーが(ダム、またはSSLブロック)ファイアウォールの背後にあり、パッシブモードFTPを使用しようとしている

SSLを使用している場合、唯一の答えは、ファイアウォールでポートの範囲(たとえば、10000-11000)を開き、FTPサーバーを構成してパッシブモードを強制し、そのポート範囲を使用することです。サーバーがNATを使用している場合は、サーバーがクライアントにアドバタイズするための適切なIPアドレスも設定する必要があります。ほとんどの場合、サーバーがパッシブモード接続文字列として提供するものに従い、サーバーが10.1.1.1クライアントに伝えます。

SSLを使用していない場合、最善の答えは、ファイアウォールでFTPのプロトコル検査を実行できるかどうかを確認することです。ファイアウォールはポート21のトラフィックを読み取り、サーバーが開きたいポートを開きます。これにより、多くの場合、NATアドレスも修正できます(ファイアウォールがNATも処理している場合)。FTPクライアントを適切に構成する方法を知らない人もいるため、パッシブモードを強制することをお勧めします。最近では、ほぼ全員がブロードバンドルーター/ファイアウォールの背後にいます。

よりスマートなファイアウォールが得られない場合は、「ポートの束を開く」オプションに固執する必要があります(または、sshのsftpのようなランダムなポートの束を開く必要のないプロトコルに切り替える必要があります)。


4

私はこの問題を抱えていましたが、以下を実行することで解決しました。

デフォルトでパッシブモードで接続するFireFTPを使用していました。IISでFTPを設定する場合、デフォルトのポートは21になります。ファイアウォールでポート21を開く必要がありました

それが判明し、他のいくつかの動的ポートを選択します。FTP接続からのファイアウォールは問題なく接続できるため、ファイアウォールの問題であることがわかりました。サーバー上でもローカル-問題ありません。

修正するために、IISをロードし(バージョン8.0を使用し、7.5と同じであると信じています)、ツリーのサーバーレベル(最上位ノード)でそれをクリックし、「FTPファイアウォールサポート」を選択します。使用する各FTPサイトはこれらのポート範囲を使用します。個々のFTPサイトでは、このセクションから継承されるため、このオプションはグレー表示されます。

[データチャネルポート範囲]で、x個のポート(この場合は10000-10125)を指定します。

これで、ファイアウォールでその範囲のTCPポートを「FTPパッシブポート範囲」として開きます。

それから私は問題が解決されると思ったが、完全ではない。必ずMicrosoft FTPサービスサービスを再起動して、新しいポート範囲を選択してください。FireFTP /クライアントを閉じて再試行します。今回は運が良ければ次の時間になります。:)


1

私はあなたと同じ問題を抱えており、今修正しました。

私がしたことは、Windowsファイアウォール(Win7)を開いて、「Windowsファイアウォールを介したプログラムまたは機能を許可する」をクリックし、「許可されたプログラムと機能」リストで「ファイル転送プログラム」を見つけてチェックボックスをオンにします。

完了したら、コマンドプロンプトを開き、ftp XXXXを入力し、ログインしてからls / dir / get / putを実行します。すべて正常に動作します。

しかし、私はまだFile ZillaとWeb Browserからの接続に失敗しました。あなたの役に立つことを願っています。



1

セットアップを混乱させないでください

セキュリティを強化したWindowsファイアウォールに送信規則を追加し、ポート番号20を設定するだけです。

CLIでFTPをお楽しみください


1

私にとっての問題は、リモートホストではなくローカルPCにありました。リモートホストへのFTPサービスのインストールが、サーバーファイアウォールで必要なすべてのポートを既に適切に開いていることを確認したので、それは問題ではありませんでした。一緒に遊んでいなかったのはローカルクライアントPCでした。そう、

  1. Windows Defender Firewallを開きました。
  2. 次に、左側の「Windows Defenderファイアウォールを介したアプリまたは機能を許可する」リンクをクリックしました。

ここに画像の説明を入力してください

  1. ファイル転送プログラムまでスクロールダウンし、ドメイン、プライベート、パブリックのボックスをチェックしました。

ここに画像の説明を入力してください

これは最終的に私のためにこれを修正しました!LSコマンドを再試行すると、応答は瞬時に終了し、ハングアップはなくなりました。


0

この問題は、Windowsファイアウォールの新しい受信規則ウィザードを使用して解決しました。[プログラム]、[C:\ Windows \ System32 \ ftp.exe]、[接続を許可する]、[オプションを確認する]の順に選択します。ドメイン、プライベート、パブリック(必要に応じて後で制限できます)、ルールに名前を付けて完了です。

ftpサイトにftpし、dirまたはlsが適切に応答することを確認します。


0

OPと同じ問題が発生しました

200 PORTコマンドが成功しました。
150 ASCIIモードのデータ接続を開きます。
425データ接続を開けません。

Windowsのコマンドラインでパッシブモードを使用しようとすると、上記の問題が発生しました。
資料を検索して、必要な情報を見つけました。

IEは通常パッシブモードを使用しますが、コマンドラインユーティリティ(ftpコマンド)は常にアクティブモードを使用します。

IEで以前の操作を試してみましたが、うまくいきました。問題を解決しました

材料リンク:https : //forums.iis.net/t/1207342.aspx?150+Opening+ASCII+mode+data+connection+for+file+list+425+Can+t+open+data+connection+

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.