Если компьютер, выполняющий роль брандмауэра, имеет реальный IP-адрес, а всем остальным машинам, подключенным к локальной сети, присвоены адреса, предназначенные для внутреннего использования, то для обеспечения доступа локальных машин в Интернет брандмауэр должен взять на себя функции proxy-сервера.
По сути, компьютер, выполняющий маскировку пакетов, представляет собой низкоуровневый proxy-сервер. Такой сервер обслуживает клиентов, устанавливая соединения с удаленными узлами от своего имени. Поскольку исходный адрес в пакете, передаваемом в Интернет, заменяется исходным адресом компьютера, выполняющего маскировку, то с точки зрения удаленного узла обмен данными с ним проводит proxy-сервер. В пакетах, передаваемых удаленным узлом, адрес назначения заменяется на адрес локального компьютера.
Организация доступа из локальной сети к брандмауэру бастионного типа
Если вы занимаетесь администрированием небольшой сети, то, скорее всего, вы не захотите ограничивать доступ локальных компьютеров к брандмауэру бастионного типа. Следующее правило организует неограниченный доступ к внутреннему сетевому интерфейсу брандмауэра:
ipchains -A input -i $INTERNAL_INTERFACE -S LAN_1 -j ACCEPT
ipchains -A output -i $INTERNAL_INTERFACE -d LAN_1 -j ACCEPT
Перенаправление трафика
Если несколько локальных сетей должны обмениваться информацией, вам необходимо разрешить передачу пакетов между соответствующими интерфейсами. Конечно, делать это надо лишь в том случае, если маршрутизация не выполняется какими-либо другими средствами.
Чтобы брандмауэр можно было использовать в качестве маршрутизатора, объединяющего две локальные сети, необходимо добавить следующие правила:
# Приведенные правила разрешают доступ к брандмауэру
ipchains -A input -i $LAN_INTERFACE_1 -s LANJL -j ACCEPT
ipchains -A output -i $LAN_INTERFACE_1 -d LAN_1 -j ACCEPT
ipchains -A input -i $LAN_INTERFACE_2 -s LAN_2 -j ACCEPT
ipchains -A output -i $LAN_INTERFACE_2 -d LAN_2 -j ACCEPT
Следующие правила обеспечивают передачу трафика между локальными сетями в двух направлениях без выполнения маскировки:
ipchains -A forward -i $LAN_INTERFACE_2 -s LAN_1 -d LAN_2 -j ACCEPT
ipchains -A forward -i $LAN_INTERFACE_1 -s LAN_2 -d LAN_1 -j ACCEPT
Разрешение доступа к Интернету из локальной сети: IP-перенаправление и маскировка
На данном этапе на обмен данными между машинами локальной сети и внутренним интерфейсом брандмауэра не накладывается никаких ограничений. Однако локальные компьютеры не имеют доступа к Интернету. Для обеспечения такого доступа необходимо реализовать перенаправление и маскировку пакетов.
Механизм перенаправления реализуется на уровне ядра системы и позволяет компьютеру под управлением Linux выступать в роли маршрутизатора, перенаправляя трафик из одной сети в другую. Однако, даже если IP-перенаправление будет реализовано путем выбора конфигурации сети, пакеты не будут передаваться между интерфейсами до тех пор, пока не будут созданы правила, разрешающие такую передачу.
Перенаправления пакетов, адресованных различным узлам глобальной сети, не всегда достаточно для нормального взаимодействия локальных компьютеров с Интернетом. Если компьютерам локальной сети присвоены IP-адреса классов А, В и С, предназначенные для внутреннего использования, необходимо выполнить их маскировку, т. е. заменить исходящий адрес локального узла в пакете IP-адресом внешнего интерфейса брандмауэра. Эта возможность также реализована на уровне ядра операционной системы. Но даже если компьютеры локальной сети имеют обычные IP-адреса, допустимые для использования в Интернете, маскировка остается одним из самых эффективных средств защиты внутренней сети.
Несмотря на то, что перенаправление и маскировка – это совершенно различные механизмы, на уровне программы ipchains они представлены как одна процедура. Пакеты, поступившие на внутренний интерфейс брандмауэра, передаются на его внешний интерфейс. Перед тем как пакет будет помещен в очередь внешнего интерфейса, средства маскировки заменяют адрес источника IP-адресом внешнего интерфейса брандмауэра. Наличие средств перенаправления и маскировки превращает брандмауэр в proxy-сервер с возможностями фильтрации.
Приведенное ниже правило позволяет перенаправить трафик с внутреннего интерфейса на внешний, попутно выполняя маскировку пакетов:
ipchains -A forward -I $EXTERNAL_INTERFACE -s LAN_1 -j MASQ
Действия accept и deny, указанные в цепочке output внешнего интерфейса, производятся после того, как перенаправление будет выполнено. Таким образом, несмотря на то, что передача от внутреннего к внешнему интерфейсу разрешена для всех пакетов, в Интернет попадут лишь те из них, для которых существуют разрешающие правила, связанные с внешним интерфейсом.
Читать дальше
Конец ознакомительного отрывка
Купить книгу