vsFTPd и iptables — как их настроить в CentOS 5.5?

vsFTPd и iptables — как их настроить в CentOS 5.5?

Я установил vsFTPd в CentOS 5.5, надвасерверы и добавили это правило к своим iptables:

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

Похоже, этого недостаточно, так как при попытке загрузить файл с одного сервера на другой я получаю такой результат (IP-адрес замаскирован):

# ftp 99.99.99.99
Connected to 99.99.99.99 (99.99.99.99).
220 (vsFTPd 2.0.5)
Name (99.99.99.99:root): vinny
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (99,99,99,99,107,74)
ftp: connect: No route to host

Я нашел несколько статей в сети о втором правиле, которое мне нужно добавить iptables, но я не нашел правильного синтаксиса для него. Не могли бы вы помочь?

ps. У меня установлена ​​vsFTPd по умолчанию, и я не хочу ничего менять в его конфигурационном файле ( /etc/vsftpd/vsftpd.conf), если это возможно.

решение1

Отредактируйте /etc/sysconfig/iptables-config и добавьте следующую строку:

IPTABLES_MODULES="ip_conntrack_ftp"

Сохраните его и перезапустите iptables.
Это потому, что пассивный режим использует нестандартные порты для связи, поэтому вам нужно отслеживать ftp-соединения, а iptables разрешит их при необходимости.

Связанный контент