第9章:FTP サービスの構築と最適化 (Pure-FTPd)
← 目次に戻る
9.1 構築の背景:
主機 s2 の IP を .226 に一本化した際、制御用(21番)の通信は通るものの、データ用(パッシブ)の通信がタイムアウトし、ディレクトリ一覧が表示されない致命的な目詰まりが発生した。本章ではその解決策と、二度と迷わないための厳格なテスト手順を記録する。
9.2 外部看板 IP の固定執行
NetScreen (MIP) 環境下において、パッシブモード時にサーバーが名乗るべき「真実の住所」を教え込む必要がある。
執行:パッシブ応答 IP の固定
# 意図:外部に対し、プライベートIPではなく看板IP 210.237.157.227 を名乗らせる
echo -n "210.237.157.227" > /etc/pure-ftpd/conf/ForcePassiveIP
執行:DNS 逆引きの停止
# 意図:接続時の名前解決待ちによるタイムアウトを排除する
echo "yes" > /etc/pure-ftpd/conf/DontResolve
【鉄則】設定変更後の完全再起動
Pure-FTPd は設定ファイルの変更だけでは動かない。必ず
stop → start による不退転の再点火を執行せよ。
systemctl stop pure-ftpd-mysql && systemctl start pure-ftpd-mysql
【参考:パッシブポートの定義】
パッシブポート範囲(40110-40210)の設定は、ISPConfig の標準インストールプロセスによって既に構成済みである。
確認が必要な場合は以下のファイルを参照せよ:
cat /etc/pure-ftpd/conf/PassivePortRange
9.3 動作検証プロトコル(二段構えのテスト)
内部からの「配管テスト」と、外部からの「看板テスト」を個別に執行し、原因を切り分けよ。
① ローカル・テスト(s2 内部または LAN 内から)
目的:OS の IP 設定とサービスの稼働確認。
執行コマンド
ftp -p 192.168.200.226
- 合格基準 1: ユーザー名/パスワード入力後、ログインに成功すること。
- 合格基準 2:
ls コマンドを実行し、即座にファイルリストが表示されること。
- 判定: これが成功すれば、OS 内の IP バインドと Pure-FTPd の基本動作は正常である。
② 外部・テスト(インターネット経由から)
目的:NetScreen (MIP) と
ForcePassiveIP の整合性確認。
確認方法:FTP クライアント(FileZilla等)のログ
- 着眼点: ログ内の
227 Entering Passive Mode 行を確認する。
- 合格基準 1:
(210,237,157,227,xxx,xxx) と、グローバル IP を名乗っていること。
- 合格基準 2:
MLSD(一覧取得コマンド)の後にタイムアウトせず、リストが表示されること。
- 判定: これが成功すれば、外部向けの看板設定とファイアウォール(ufw/NetScreen)のパッシブポート開放が完璧に整合している。
最終更新:2026/03/06 | Version:1.2 | L-Core