ftp与防火墙的问题
本人是新手,配置了一个VSFTPD服务和WEB服务,没有启用防火墙时能正常登陆,启用了防火墙后在IE或是FTP工具输入用户名和密码提示登陆成功,但是总显示不了内容,提示DATA连接超时,不知是什么原因,停了防火墙又正常了,这是我的防火墙规则,搞了两三于就是不行,望高手帮忙
#iptables -P INPUT DROP
#iptables -P OUTPUT DROP
#modprobe ip_conntrack_ftp
#iptables -A INPUT -p tcp --dprot 21 -j ACCEPT
#iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -p tcp --sport 21 -j ACCEPT
#iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT
在线等,急,谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
dport是20,是不是也得打开啊
状态跟踪信息
ftp的数据端口是协商打开的,你得默认规则是drop,所以数据端口是被干掉了,肯定通不了。
我也遇到过,网页确实不行,但是Windows的命令提示符下是可以的。
使用FlashFXP,取消“使用被动模式”。
[ 本帖最后由 marsaber 于 2009-1-21 09:57 编辑 ]
iptables -A OUTPUT-m state --state RELATED,ESTABLISHED -j ACCEPT
加上这句试试
应该还需要tcp20端口吧
试试这个脚本。
现在没几个服务器用20端口了,而且缺省FTP Server的数据连接应该是客户端执行了PORT命令之外主动发起的,要支持这种你只要在防火墙中允许服务器向外连接即可,同时客户端设置时不要使用PASV模式。
但同在人们通常是通过局域网的NAT上网的,支持FTP的很少(需要解析到应用层的PORT命令,具体看RFC就明白了),在这种情况下只能用PASV模式。对于vsFTP我是在其配置文件中限制它数据端口在固定的范围,然后在防火墙允许这一端口范围通过。不过我用的是FreeBSD+ipfw,iptables没用过,所以无法给你具体的命令。
如果是服务器:modprobe nf_conntrack_ftp
如果是网关:modprobe nf_nat_ftp
其余就当是个 HTTP 服务器一样该怎么处理怎么处理,允许所有 ESTABLISHED,RELATED 状态包进入即可