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

Вопрос о перенаправлении ipTables хоста брандмауэра Bastion

Немного предыстории:

Брандмауэр был создан с использованием RH Fedora 13, Kernel 2.6.34.7-63 и IPTables 1.4.7. Брандмауэр представляет собой простую конфигурацию с двумя адаптерами, при этом внешний интерфейс (eth0) обращен к Интернету, а другой интерфейс (eth1) обращен к небольшой частной сети (одиночная IP-подсеть). Брандмауэр - это хост-бастион, а это означает, что хост брандмауэра не содержит ничего, кроме операционной системы, IPTables и только тех элементов, которые необходимы для поддержки работы самого хоста. Брандмауэр не запускает никаких других приложений.

В частной сети находится веб-сервер.

Сеть: Базовый адрес: 149.10.10.0/24 Веб-сервер: 149.10.10.25 Клиенты: расположены по разным адресам в подсети. Межсетевой экран eth1 Адрес: 149.10.10.1 DNS-адрес: 149.10.10.2

ВОПРОС Учитывая, что клиенты во внутренней сети могут свободно выходить в Интернет: если клиенты выбирают определенный веб-сайт (например, www.website.com), моя цель - настроить IPTables для перенаправления клиента на внутренний веб-сервер.


Я пробовал использовать несколько правил iptables, в том числе:

iptables -v -t nat -A PREROUTING --in-interface eth1 --dport 80 -d www.website.com -j DNAT --to 149.10.10.25

Однако, похоже, это не имеет никакого эффекта.

Не могли бы вы порекомендовать правило, которое я должен использовать для выполнения этого подвига?

Ниже приведен синтаксис, который я использую для аналогичного правила, но мой трафик предназначен для внешнего на внутренний.

-A PREROUTING -i eth0 -p tcp -m tcp -d X.X.X.X --dport 80 -j DNAT --to-destination Y.Y.Y.Y: 80

Вам также необходимо убедиться, что у вас включен ip_forward и установлены правильные правила пересылки, чтобы разрешить обратный трафик.

Предполагая, что вы можете сделать это с помощью iptables, и я не уверен, что вы можете, из-за ненаправленного характера обратного трафика от 149.10.10.25 клиентам, вы перенаправите все веб-хосты, которые живут на IP-адресе, связанном с www.website.com.

Это неизбежно, потому что iptables, по сути, является инструментом уровня 3 и работает с IP-адресами, а не с именами хостов HTTP.

Думаю, вам лучше установить прокси squid во внутренней сети, настроить который чтобы выполнить перенаправление для одного доменного имени и перенастроить клиентов для использования прокси. Вы также можете использовать iptables на бастионе, чтобы предотвратить входящий и исходящий HTTP-трафик в вашу внутреннюю сеть, чтобы гарантировать использование прокси.