Назад | Перейти на главную страницу

Когда iptables запущен, нет доступа к ftp из-за тайм-аута

Когда я запускаю службу iptables, доступ по ftp отсутствует из-за тайм-аута соединения. Когда я останавливаю службу iptables, ftp работает нормально.

Это текущие данные iptables:

Обновить: заменено УСТАНОВЛЕННОЕ на НОВОЕ в правиле p21. Проблема в все еще происходит.

# 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-серверу как в пассивном, так и в активном режимах.

Обычно там, где у вас есть

-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"