vsFTPd と iptables - CentOS 5.5 でこれらを設定する方法は?

vsFTPd と iptables - CentOS 5.5 でこれらを設定する方法は?

CentOS 5.5にvsFTPdをインストールしました。サーバーに次のルールを追加しましたiptables:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

これは十分ではないようです。あるサーバーから別のサーバーにファイルをアップロードしようとすると、次の結果が表示されます (IP アドレスはマスクされています)。

# ftp 99.99.99.99
Connected to 99.99.99.99 (99.99.99.99).
220 (vsFTPd 2.0.5)
Name (99.99.99.99:root): vinny
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (99,99,99,99,107,74)
ftp: connect: No route to host

に追加する必要がある 2 番目のルールに関する記事をネットでいくつか見つけましたiptablesが、適切な構文が見つかりませんでした。助けていただけませんか?

/etc/vsftpd/vsftpd.confps. 私は vsFTPd をデフォルトでインストールしており、可能であれば、その構成ファイル ( ) 内の何も変更したくありません。

答え1

/etc/sysconfig/iptables-config を編集し、次の行を追加します。

IPTABLES_MODULES="ip_conntrack_ftp"

保存して iptables を再起動します。
パッシブ モードでは通信に非標準ポートが使用されるため、FTP 接続を追跡する必要があり、iptables は必要に応じてそれらを許可します。

関連情報