ローカルマシンから問題なくFTPサイトにアクセスできますが、リモートマシンからタイムアウトします。
ファイアウォールを完全にオフにすると、機能します。明らかに、これは本当に満足のいく解決策ではありません。
私は これらのステップ をたどろうとしましたが、今は役に立ちます。
私のリモートマシンでは、FTPクライアントとしてFilezillaを使用しています。以下は、サイトにアクセスしようとしたときに表示される出力です。ご覧のように、接続と認証はなんとか成功していますが、ディレクトリを一覧表示する試みはタイムアウトします。
次にどこを見ればいいのか誰か教えてもらえますか?
Status: Connecting to 192.168.15.12:21...
Status: Connection established, waiting for welcome message...
Response: 220 Microsoft FTP Service
Command: USER CMSDEVELOPMENT\CMSdev
Response: 331 Password required for CMSDEVELOPMENT\CMSdev.
Command: PASS ******
Response: 230-Directory has 71,805,415,424 bytes of disk space available.
Response: 230 User logged in.
Command: OPTS UTF8 ON
Response: 200 OPTS UTF8 command successful - UTF8 encoding now ON.
Status: Connected
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/" is current directory.
Command: TYPE I
Response: 200 Type set to I.
Command: PASV
Response: 227 Entering Passive Mode (192,168,15,12,192,160).
Command: LIST
Response: 150 Opening BINARY mode data connection.
Error: Connection timed out
Error: Failed to retrieve directory listing
ファイアウォールログを見ると、次のエントリが見つかります。
2012-04-23 14:44:54 DROP TCP 192.168.15.90 192.168.15.12 55743 49342 52 S 650301735 0 65535 - - - RECEIVE
2012-04-23 14:44:57 DROP TCP 192.168.15.90 192.168.15.12 55743 49342 52 S 650301735 0 65535 - - - RECEIVE
2012-04-23 14:45:03 DROP TCP 192.168.15.90 192.168.15.12 55743 49342 48 S 650301735 0 65535 - - - RECEIVE
ようやく動作しましたが、次のことを学びました。
IISでは、FTPサーバーがパッシブモードで使用するポートを構成できます。しかし、私にとっては、「Microsoft FTP Service」という名前のサービスを再起動するまで、これは有効になりませんでした
インバウンドファイアウォールルールを見ると、3つの構成済みルールが見つかりました。
これらのルールは、私が必要としているもののように見えました。しかし、何らかの理由で、彼らは実際には何もしませんでした。まったく同じものを指定するOWNルールを作成したところ、うまくいきました。 (どうやら、私はこの問題に遭遇する最初ではありません。 この投稿 を参照してください。)
Server 2012の新規インストールでも同じ問題がありますが、機能させるにはWindows FireWallサービスを再起動する必要がありました。
ステートフルFTPフィルタリングの無効化を無効にしてみてください。
netsh advfirewallがグローバルなStatefulFTPを無効に設定
後でFTPサービスを必ず再起動してください
(参照: http://blog.nenoloje.com/2013/01/ftp-service-for-iis-client-connection.html )
新しいファイアウォールルールを作成します。プログラムオプションを選択します。このプログラムパスを選択します。 %systemroot%\ system32\svchost.exeをパスに貼り付けます。警告メッセージを受け入れます。すべての接続を許可し、名前を付けます。ファイアウォールをオフ/オンにします。できました。