Сегодня открыл для себя интересную особенность Iptables в Linux (CentOS 6).
Итак, клиент пытается подключиться на пассивный FTP, на фаерволе открыты 20 и 21 порты на Forward + разрешены все соединения со статусами ESTABLISHED и RELATED, а подключиться клиенту не удается.
После гугления, решение оказалось простым как 5 копеек: в /etc/sysconfig/iptables-config добавляем или меняем строчку
IPTABLES_MODULES="nf_conntrack_ftp nf_nat_ftp"
Эти два модуля, разумеется, должны в системе присутствовать.
После этого, перегружаем iptables.
В результате, lsmod должен выдать что-то в духе:
nf_nat_ftp 2602 0
nf_conntrack_ftp 10475 1 nf_nat_ftp
nf_conntrack 65524 6 nf_nat_ftp, nf_conntrack_ftp, iptable_nat, nf_nat, nf_conntrack_ipv4, xt_state
nf_conntrack_ftp 10475 1 nf_nat_ftp
nf_conntrack 65524 6 nf_nat_ftp, nf_conntrack_ftp, iptable_nat, nf_nat, nf_conntrack_ipv4, xt_state
Собственно, все. Лезем любимым FTP клиентом и наслаждаемся пассивным режимом.