iptables启动时,由于超时,无法进行ftp访问

iptables启动时,由于超时,无法进行ftp访问

当我启动 iptables 服务时,由于连接超时,无法进行 ftp 访问。当我停止 iptables 服务时,ftp 可以正常工作。

这是当前的 iptables 数据:

更新:在 p21 规则中,用 NEW 替换了 ESTABLISHED。问题是仍在发生

# Generated by iptables-save v1.4.7 on Sun Dec 14 23:48:26 2014
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [4:2848]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP 
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP 
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP 
-A INPUT -i lo -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT 
-A INPUT -p tcp -m tcp --sport 21 -m state --state NEW -j ACCEPT 
-A INPUT -p tcp -m tcp --sport 20 -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT 
-A OUTPUT -p tcp -m tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT 
-A OUTPUT -p tcp -m tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT 
-A OUTPUT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m state --state RELATED,ESTABLISHED -j ACCEPT 
COMMIT
# Completed on Sun Dec 14 23:48:26 2014

这些线路中的任何一条都可能导致这种奇怪的行为吗?

-A INPUT -p tcp -m tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT 
-A INPUT -p tcp -m tcp --sport 20 -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT 
-A OUTPUT -p tcp -m tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT 
-A OUTPUT -p tcp -m tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT 
-A OUTPUT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m state --state RELATED,ESTABLISHED -

我尝试以被动和主动模式连接到 ftp 服务器。

答案1

通常情况下

-A INPUT -p tcp -m tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT 

在 FTP 服务器上

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

接受新的传入 FTP 连接,因为现有连接已被早期规则接受。

其次,您需要确保已启用 FTP 连接跟踪模块。 即兴地:insmod nf_conntrack_ftp并通过以下方式持久化:

# /etc/sysconfig/iptables-config 
# Space separated list of nat helpers (e.g. 'ip_nat_ftp ip_nat_irc'), which
# are loaded after the firewall rules are applied. Options for the helpers are
# stored in /etc/modprobe.conf.
IPTABLES_MODULES="nf_conntrack_ftp"

相关内容