Windows Server2008およびIIS 8.0を実行しているコンピューターに2番目のFTPサーバーをセットアップしようとしています。既に1つのポートでアクセス可能なFTPサーバーがあり、これは別のポートでアクセス可能になります同じディレクトリをポイントします。
基本認証を使用してポートを設定した後、ルーターのポートを転送し、Windowsファイアウォールで新しいポートの例外を許可しました。
これで、localhost:2020を使用してローカルマシンからFTPサーバーにアクセスできるようになりました(2020が私のポートであるかのように見せかけます)。 ftp://mydomain.biz:202 を使用しようとすると、ログイン画面の入力を求められますが、localhostで使用されているものと同じログイン情報を入力すると、次のエラーが発生します。
このエラーを修正するにはどうすればよいですか?
これは、おそらく制御接続に非標準のポートを使用しているために、ファイアウォールもルーターもFTPプロトコルを実行していることを認識しないというステレオタイプの問題のように聞こえます。
データ接続(PASVポート)がアナウンスされると、そのポートがWindowsファイアウォールによって開かれていない可能性があり、接続が不可能になります。
Windowsファイアウォールがシステムファイアウォールのポートを開いたとしても、FTPヘルパーモジュールを指定せずにポート転送を使用しているため、ルーターは制御接続を介してFTPサーバーからの応答を検査しません。 。次に、PASV応答でWindowsサーバーの内部IPアドレスをルーターのパブリックIPアドレスに書き換えたり、ルーターがデータ接続用の正しいポート転送ルールを動的に作成したりすることはありません。
すべての周りの悲しみ。
同じネットワーク内の別のホストからの非標準FTPポートの機能をチェックして、Windowsファイアウォールが正しく機能するかどうかを確認します。
次に、NATルーターの構成を確認します。
FTPプロトコルは、多数のポートを使用します。制御接続用のポート21、アクティブモードのデータ接続用のポート20、およびパッシブデータ接続用の可変数の通常はハイポートです。
この場合、FTPクライアントは、ポート50297のIP192.168.1.165へのパッシブデータ接続が失敗したことを通知している可能性があります。ほとんどの場合、これが発生すると、ファイアウォール(またはNAT)構成の問題です。
あなたの場合、NATの問題を除外できると思います。同じLAN(192.168.1.0/24)上のIPに接続しているため、Windowsファイアウォールの問題である必要があります。
簡単な(ただし安全性が低い)解決策は、FTPサーバープロセス(EXE)を信頼するようにWindowsファイアウォールの例外を構成することです。そうすれば、どのポートでも着信接続を受け入れることができます。より洗練された(そしてより安全な)ソリューションは、FTPサーバーがパッシブ接続に使用する正確なポート範囲を構成し、Windowsファイアウォールでそれらのポート(およびポート2020)のみを開くことです。