3.5.3.2. Правила iptables для пассивных подключений
Правила для пассивных подключений назначают соответствующую метку сетевого экрана соединениям из Интернет, приходящим на широкий диапазон портов плавающего IP - от 10,000 до 20,000.
Внимание
Если ограничивается диапазон портов для пассивных подключений на LVS, необходимо, настроить и VSFTP на использование того же диапазона портов. Это можно выполнить, добавив следующие строки в файл /etc/vsftpd.conf
:
pasv_min_port=10000
pasv_max_port=20000
Также, необходимо настроить IP-адрес, который сервер использует в ходе установления пассивного подключения. В LVS с использованием NAT нужно добавить приведенную ниже строку в файл /etc/vsftpd.conf
для замены IP-адреса реального сервера на VIP, который используется клиентом для начального подключения к серверу.
pasv_address=n.n.n.n
Строку n.n.n.n
нужно заменить VIP-адресом LVS.
Для настройки прочих FTP-серверов нужно использовать соответствующую документацию.
Этот диапазон достаточно велик различных ситуаций; тем не менее, остается возможность его увеличения. Например, для включения в него всех портов, на которых возможно установление пассивного подключения, в приведенном ниже примере нужно заменить 10000:20000
на 1024:65535
.
Следующая команда iptables
назначает метку 21 всем пакетам, приходящим на соответствующий диапазон портов плавающего IP-адреса. Метка, в свою очередь, распознается IPVS и пакеты соответствующим образом маршрутизируются:
/sbin/iptables -t mangle -A PREROUTING -p tcp -d n.n.n.n
/32 --dport 21 -j MARK --set-mark 21
/sbin/iptables -t mangle -A PREROUTING -p tcp -d n.n.n.n
/32 --dport 10000:20000 -j MARK --set-mark 21
В приведенной выше команде iptables
строку, n.n.n.n
нужно заменить на плавающий IP-адрес виртуального сервера FTP, определенный в разделе VIRTUAL SERVER Piranha Configuration Tool.