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

Доступ к нескольким FTP-серверам через брандмауэр

У меня есть 4 веб-сервера для разных задач, за брандмауэром. У меня один общедоступный IP-адрес, и я хочу подключиться к своим серверам по FTP с этим IP-адресом. Я пытался использовать другой порт, но безрезультатно.

Итак, мой вопрос: возможно ли иметь прокси (например, apache в http), который может перенаправлять на правильный сервер (с URL-адресом, портом или именем пользователя это не имеет значения).

Большое спасибо за ваши ответы

PS: все мои серверы на Debian 7

Проще говоря, нет. HHTP отправляет имя хоста с каждым запросом, поэтому такие вещи, как виртуальный хостинг на основе имени, работают.

FTP этого не делает, поэтому невозможно определить, идет ли входящее FTP-соединение к FTP.example.com или к f.i. FTP.example.net

Вы можете выбрать 4 разных порта для каждого из ваших FTP-серверов, например 2112,2113,2114,2115, а затем создать правила переадресации портов (NAT) в вашем брандмауэре следующим образом:

iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 2112 -j DNAT --to 192.168.1.2:21
iptables -A FORWARD -p tcp -m state --state NEW --dport 2112 -i eth1 -j ACCEPT

iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 2113 -j DNAT --to 192.168.1.3:21
iptables -A FORWARD -p tcp -m state --state NEW --dport 2113 -i eth1 -j ACCEPT

iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 2114 -j DNAT --to 192.168.1.4:21
iptables -A FORWARD -p tcp -m state --state NEW --dport 2114 -i eth1 -j ACCEPT

iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 2115 -j DNAT --to 192.168.1.5:21
iptables -A FORWARD -p tcp -m state --state NEW --dport 2115 -i eth1 -j ACCEPT

Таким образом, входящие ftp-соединения будут перенаправлены в зависимости от используемого порта на правильные серверы.