我已经在两台服务器上安装了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
我在网上find了一些关于我必须添加到iptables的第二条规则的文章,但是我没有find正确的语法。 能否请你帮忙?
PS。 我有一个vsFTPd的默认安装,我不想改变它的configuration文件( /etc/vsftpd/vsftpd.conf )中的任何东西,如果可能的话。
编辑/ etc / sysconfig / iptables-config并添加以下行:
IPTABLES_MODULES = “ip_conntrack_ftp”
保存并重新启动iptables。
这是因为被动模式使用非标准端口进行通信,因此您需要保持ftp连接的trak,并在需要时iptables允许它们。