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

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, но я не нашел для него подходящего синтаксиса. Не могли бы вы помочь?

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

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

IPTABLES_MODULES = "ip_conntrack_ftp"

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