Linux下防火墙规则开放ftp端口的问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 14:40:03
我用的是vsftp,现在如果关闭防火墙(#service iptables stop),就可以访问ftp服务器,开启防火墙就不能访问。查看到其应用的端口为21,我现在是在etc/sysconfig/iptables文件里增加了这么一行:
-A INPUT -p tcp -m tcp --dport 21 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
但是,还是会出现上述情况,什么原因?

如何正确开放vsftp使用的端口21?请指点,谢谢。先献上50分,解决之后再进行追加!君子一言
我在etc/sysconfig/iptables文件里用下面这行代替了-A INPUT -p tcp -m tcp --dport 21 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT,然后就可以了,但不知道怎么写 iptables-precursor

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

setup,进入设置,然后选择firewall,开放21端口就可以了,有的时候selinux也组织防火墙。

加入这些 不然只有来的包 没有返回包
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
/sbin/iptables -A INPUT -m state --state ESTABLISHED -j ACCEP
-A INPUT -p tcp -m tcp --dport 21 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
上面成立前提是你定制的规则包含
/sbin/iptables -P OUTPUT ACCEPT

ftp端口还可能使用其他的,不止是20,而且还要根据你的ftp采用的是主动、被动模式有关。
一时讲不清楚,推荐一篇文章吧:
http://hi.baidu.com/xtso/blog/item/500597162ec8b157f3de3233.html

加入以下两条:
-A INPUT -m state --state ESTABLISHED RELATED -j ACCEPT
-A INPUT -M state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT