ProFTPDは、FTPプロトコルを使用してファイルを転送するためのサービスです。このサービスは、Linuxサーバー上でファイル管理のために広く使用されています。
FTPサーバーは2つのモードで動作します:
- アクティブモード - PORT:クライアントが接続ポートを決定します。
- パッシブモード - PASV:サーバーが接続ポートを決定します。
デフォルトのポート21に加えて、追加のポートを開くためのネゴシエーションプロセスがあります。サーバーの動作モードに応じて、以降のネゴシエーションのイニシエーターはクライアントまたはサーバーになります。
アクティブモードの欠点:
- クライアントがNAT/ファイアウォールの背後にある場合、動作しません(サーバーがクライアントに到達できない)。
- 各ファイルごとに新しいポートが開かれ、セッション数が大幅に増加します。
パッシブモードの利点:
- NAT/ファイアウォール越しに動作します(イニシアチブはクライアントにあります)。
- サーバー上でポート範囲を制限できます(ProFTPDのPassivePorts)。
接続数を制限するには、サービスの設定ファイルに設定を追加する必要があります:
/etc/proftpd.conf
MaxInstances 30 # ProFTPDが起動できる最大プロセス数(サービスプロセスを含む)。
MaxClients 20 # 最大同時接続数(ユーザー)。
MaxClientsPerHost 3 # 単一のIPアドレスからの接続数を制限。
また、パッシブモードを強制的に有効にすることもできます:
/etc/proftpd.conf
Passive on
PassivePorts 50000 50100 # ポート範囲を制限(最大100接続)。
パッシブモードはすべての環境で動作するとは限りません。NATおよびファイアウォールの動作を確認してください。
設定ファイルにエラーがないか確認してください。サービスとして動作している場合は再起動します。inetdと一緒に動作している場合は、設定ファイルにエラーがないことを確認するだけで十分です。
proftpd -t # 設定を確認。
systemctl restart proftpd # 再起動。
FTPプロトコルにはいくつかの欠点があり、HTTP/SやSFTP(SSHファイル転送プロトコル)と異なり、アクションのネゴシエーションとクライアント-サーバーの確認を待つ必要があるため、場合によっては「遅延」が発生します。
多数の小さなファイルを転送する必要がある場合は、アーカイブにまとめてサーバー上で解凍することをお勧めします。
No Comments Yet