_


вторник, 25 октября 2011 г.

Настройка доступа к нескольким Proftpd







Всем привет :) Сегодня рассказ пойдет о том, как настроить сразу несколько FTP серверов, а именно: последний на сегодняшний день стабильный релиз Proftpd


На роутере (80.80.80.80, 192.168.2.111) включен port-forwarding на 21 и 221 порты сервера. Сервер на Linux Debian Squeeze (192.168.2.10). Также на сервере крутятся 2 виртуальные машины (виртуализация от KVM). Связующим звеном между сервером и виртуалками является виртуальный мост с IP 10.0.0.1. На каждой виртуальной машине установлен Proftpd 1.3.3f висящий на 21 порту. Задача: необходимо предоставить доступ к FTP обеих виртуалок. Необходима поддержка как активного так и пассивного режимов соединения.

На сервере включена маршрутизация. Для упрощения приведенного примера политика iptables по умолчанию везде ACCEPT и правил в цепочках iptables нет.

Таблица маршрутизации:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 * 255.255.255.0 U 0 0 0 virbr1
192.168.2.0 * 255.255.255.0 U 0 0 0 eth0
default 192.168.2.111 0.0.0.0 UG 0 0 0 eth0



Итак, приступим к настройке Proftpd. Для поддержки пассивного режима необходимо открыть соответствующие порты для приема удаленных клиентов.

Для этого, в конфиге proftpd виртуалки 10.0.0.50 следует добавить следующее:

MasqueradeAddress 80.80.80.80
PassivePorts 60000 60999

И открыть доступ к диапазону портов  60000-60999 на роутере (pub:80.80.80.80, pri: 192.168.2.111)

На второй виртуалке аналогично:

MasqueradeAddress   80.80.80.80
PassivePorts 61000 61999

И открыть доступ к диапазону портов  61000-61999 на роутере.

И последнее, для успешного взаимодействия разных сетей добавим несколько правил в таблицу NAT:

Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere lan.local tcp dpt:221 to:10.0.0.60:21
DNAT tcp -- anywhere lan.local multiport dports 61000:61999 to:10.0.0.60:61000-61999
DNAT tcp -- anywhere lan.local tcp dpt:ftp to:10.0.0.50:21
DNAT tcp -- anywhere lan.local multiport dports 60000:60999 to:10.0.0.50:60000-60999

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT tcp -- 10.0.0.60 anywhere tcp spt:ftp to:192.168.2.10:21
SNAT tcp -- 10.0.0.60 anywhere multiport sports 61000:61999 to:192.168.2.10:61000-61999
SNAT tcp -- 10.0.0.50 anywhere tcp spt:ftp to:192.168.2.10:21
SNAT tcp -- 10.0.0.50 anywhere multiport sports 60000:60999 to:192.168.2.10:60000-60999




modprobe ip_conntrack_ftp ports=21,221
modprobe ip_nat_ftp ports=21,221


p.s. отдельное спасибо mky, odip за оказанную помощь

Комментариев нет:

Отправить комментарий