不建议关闭iptables,可以设置规则让FTP端口通过过滤。
ftp端口比较特殊,分为连接用的端口,当上传下载文件的传输数据用的端口。并不像80,22这些端口。
netstat -tnl 命令可以看到,现在运行了ftp服务。
[root@localhost root]# iptables -L -n
这里现在只允许 22 端口的访问。
现在开始对ftp端口的设置,ftp连接端口有2个 21 和 20 端口,现在添加对应的规则。
[root@localhost root]# iptables -A INPUT -p tcp --dport 21 -j ACCEPT
[root@localhost root]# iptables -A INPUT -p tcp --dport 20 -j ACCEPT
[root@localhost root]# iptables -A OUTPUT -p tcp --sport 21 -j ACCEPT
[root@localhost root]# iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT
添加完浏览器访问一下ftp,会出现超时。
例如目录列表, 上传 ,下载 文件都要用到这些端口。
而这些端口是任意端口。 这个任意真的比较特殊。如果不指定什么一个端口范围, iptables 很难对任意端口开放的,如果iptables允许任意端口访问, 那和不设置防火墙没什么区别,所以不现实的。
那么解决办法就是指定这个数据传输端口的一个范围。
下面修改一下ftp配置文件。
这里使用vsftpd来修改演示。
[root@localhost root]# vi /etc/vsftpd.conf
在配置文件的最下面 加入
pasv_min_port=30001
pasv_max_port=31000
然后保存退出。
这两句话的意思告诉vsftpd, 要传输数据的端口范围就在30001到31000 这个范围内传送。
这样使用 iptables 就好办多了,只需打开 30001到31000 这些端口。
[root@localhost root]# iptables -A INPUT -p tcp --dport 30001:31000 -j ACCEPT
[root@localhost root]# iptables -A OUTPUT -p tcp --sport 30001:31000 -j ACCEPT
[root@localhost root]# service iptables save
最后进行保存, 然后再用浏览器范围下ftp。即可正常访问。
里面的,,FTPD 打开了吗...开的哪个端口....如果是21telnet xxx.xxx.xxx.xxx 21
看看..端口打开了吗.
注意一下,防火墙...有的FTPD里面,有设置...比如说,哪些用户可以登录,,哪些用户不能登录...
这里面东西多了.
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)