サーバーポートの変更後、アクティブモードFTPが動作を停止しました。

サーバーポートの変更後、アクティブモードFTPが動作を停止しました。

私のサーバー(ubuntu 16.04 x86_64)でproftpdを使用しています。

デフォルトでは、proftpd は標準ポート 21 を使用します。問題なくアクティブモードを使用して自宅のラップトップからFTPに接続できます。

これでproftpdを停止し、ポートを21から10021に変更し、サービスを再起動しました。これで、アクティブモードでは接続できず、手動モードでのみ接続できます。

  1. 何が変わりましたか?

  2. 私も理解できませんが、なぜアクティブモードで動作するのですか?ルーターを介してインターネットに接続できます。ルータのどのポートも私のラップトップに転送しません。今すぐ接続すると、私のラップトップ(ftpクライアント)は1023より大きいポートからサーバーポート21への接続を作成します。私のラップトップは2番目の(データ)ポートもサーバーに送信し、サーバーはこのデータを使用して自分のポート20から自分のポートに接続します。しかし、私のポートがWANのために閉じている場合、どのように2番目の接続を確立できますか?

ベストアンサー1

ファイアウォール(ルーター)にはFTP接続追跡ヘルパーがあります。 FTP 制御接続 (TCP 宛先ポート == 21 で識別される) が見つかったら、コマンドをモニターします。クライアントがコマンドを送信するのを見たら、PORTコマンドを再作成し(外部IPアドレス、別のポートに)、FTPサーバーから予想される接続を追跡します。接続が到着すると、通過が許可されます。

ポートを変更しても、10021はFTP制御接続として認識されないため、何も起こりません。

少なくともLinuxでは、関数はモジュールであり、nf_conntrack_ftp必要に応じてports10021を含むようにオプションを設定できます。

PS:サーバーの前にあるファイアウォールを使用して同様の操作を実行できます。これは逆ですが、これはアクティブモードではなくパッシブモード転送で行われます。

おすすめ記事