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

我在網路上找到了一些關於我必須添加到的第二條規則的文章iptables,但我沒有找到正確的語法。能否請你幫忙?

附:我預設安裝了 vsFTPd,如果可能的話,我不想更改其設定檔 ( /etc/vsftpd/vsftpd.conf) 中的任何內容。

答案1

編輯 /etc/sysconfig/iptables-config 並新增以下行:

IPTABLES_MODULES="ip_conntrack_ftp"

儲存並重新啟動 iptables。
這是因為被動模式使用非標準端口進行通信,因此您需要追蹤 ftp 連接,並且 iptables 將在必要時允許它們。

相關內容