哪个牛人帮我看看我的ftp的防火墙
一台服务器,只单独提供ftp服务。防火墙如下:
iptables -P INPUT DROP
iptables -F
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT # Make ping work
iptables -A INPUT -p tcp --dport 21 -m state --state ESTABLISHED,NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
我都不知错在什么地方,反正lftp就是访问不了。我在网络上看到一份别人写的ftp防火墙,他比我多对OUTPUT链加了限制。我觉得INPUT的限制已够了,所以没有加。不知问题是不是这里呢?他的防火墙如下:
ptables -P FORWARD DROP
iptables -P OUTPUT DROP
iptables -P INPUT DROP
iptables -F
ptables -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 20 -m state --state NEW,ESTABLISHED -j ACCEPT
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
多谢,多谢。又学到新东西了
前面不是已经回文过了?怎么又重复问相同的问题 ?
复制代码
这不就是你要的 ?
先瞭解一下 "ESTABLISHED" 与 tcp/ip 双向特性的关系会有助于问题的厘清。
至于 redhat 那问题,其实那也是一个 faq 等级的问题。
redhat 的 /etc/sysconfig/iptables-config 配置档内预设没有载入 ip_conntrack_ftp module,所以无法被 "-m state --state RELATED -j ACCEPT" 叙述识别为进而允许 ftp 另外建立的封包。所以你要使用内建的该 redhat 提供的配置,请自己改一下 /etc/sysconfig/iptables-config 后,后续使用 /etc/init.d/iptables 该脚本执行时即可套用使用。
你说这个问题算是 bug 吗 ? 老实说应该算。再者 redhat 本身产生的 /etc/sysconfig/iptables 竟然是把 INPUT 与 FORWARD chain 放在一起套用规则,这也根本就是恶搞乱来的行为
==
对各位的回答的回答:
===========================
把放火墙弄透明之后,外界是可以访问的。
透明方法:
iptables -F
iptables -P INPUT ACCEPT
===========================
iptables -P INPUT DROP 之后,什么东西都进不来,怎谈访问呢?
===========================
modprobe----哇,这么麻烦啊。。。。不用这东西,加载放火墙的时候,系统没吱声,所以应是没问题滴。
我又查过/var/log/message,日记说加载成功。
我知道
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
是不用写的,我把他写出来,主要是告诉你们,我的这两条链的状态。
===========================
第二份是别人的。我那份是让loopback通过的。。。。
更奇怪的事情是,我用系统的setup命令设置只让ftp通过,但设置之后,还是访问不了。火
很奇怪,安我自己写的那份防火墙,lftp和linux自身带的ftp命令不能正常访问,而ms的命令指示附的ftp命令又能正常访问(另加,ie和ff都不能访问)。为什么???!!!!
又没有那位兄弟用iptables做ftp的防火墙通过了的?贴一份来看看吧。
你沒有允許 lo 自己可以連自己,這樣設定好的設定會出事情。
==
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -P INPUT DROP
这算是 faq 了.
modprobe ip_conntrack # 一般可以不用载入,因为载入 ip_conntrack_xxxx 等会自动载入使用
modprobe ip_conntrack_ftp
主要挂入 ip_conntrack_ftp, 提供追踪 ftp 另外建立连线的封包,进而给你用的 RELATED 封包状态判断.
但是你写法有错误,INPUT 主要应该是要:
复制代码
==
你单独做ftp服务器。iptables -P INPUT DROP
这个应该就够了。。
又不是做网关代理上网。iptables -P FORWARD DROP这个链没必要限制。先试下二楼的方法。
是不是你的其它設置有問題?
停了防火牆試試能不能訪問?