Программное обеспечение для подсистемы доступа к внешним сетям
Подсистема доступа к внешним сетям должна обеспечить контролируемый доступ как локальной сети в сеть интернет, так и пользователей интернет и избранным ресурсам центра обработки данных. Функционально подсистема доступа к внешним сетям будет являться шлюзом в интернет с функциями сетевого экрана (брэндмауэра). Подсистема должен обеспечивать гибкую фильтрацию трафика, защиту локальной сети от внешних сетевых угроз, возможности для управления перенаправлением трафика в случае роста предприятия и увеличения количества внешних сетевых сервисов. Так же система должна предоставлять возможности настройки маршрутизации. Для решения этих задач должно быть реализовано гибкое и удобное управление шлюзом и сетевым экраном. На эту роль наиболее подходит программная реализация данной подсистемы. С открытым исходным кодом данный сервис представлен мощным и надежным сетевым экраном Netfilter и утилитами управления "iptables" для ОС семейства UNIX. Поддержка других необходимых сетевых протоколов для доступа к сети и маршрутизации так же в полной мере реализована в ОС Linux/Unix. Netfilter - это мощный межсетевой экран (фаервол или брэндмауэр), встроен в ядро Linux версий 2.4 и 2.6. iptables - название пользовательской утилиты (запускаемой из командной строки) предназначенной для управления системой netfilter. С её помощью создаются и изменяют правила, управляющие фильтрацией и перенаправлением пакетов. Для работы с семейством протоколов IPv6 существует отдельная версия утилиты iptables - ip6tables. Иногда весь проект (внутриядерный межсетевой экран вместе с пользовательской утилитой) просто именуется netfilter/iptables. Схема применения правил цепочек показана на рисунке 6.1:
Рисунок 6.1 Функционирование фаерволла определяется набором правил, каждое из которых состоит из критерия и действия, применяемого к пакетам, подпадающим под этот критерий. Для организации правил применяется концепция цепочек - независимых списков правил. Отдельные цепочки применяются для фильтрации входящих (INPUT), исходящих (OUTPUT) и транзитных (FORWARD) пакетов. В продолжении этой идеи, в iptables появились таблицы - независимые группы цепочек. Каждая таблица решает свою задачу - цепочки таблицы filter отвечали за фильтрацию, цепочки таблицы nat - за преобразование сетевых адресов (NAT), к задачам таблицы mangle относились прочие модификации заголовков пакетов (например, изменение TTL). Такая схема позволяет эффективно применять правила межсетевого экрана на различных уровнях фильтрации пакета. Согласно требованиям ТЗ доступ в сеть должен предоставляться любому сегменту сети с сокрытием внутренней структуры сети предприятия. Для сокрытия внутренней структуры используется технология NAT (Network Address Translation - «преобразование сетевых адресов») - это механизм в сетях TCP/IP, позволяющий преобразовывать IP-адреса транзитных пакетов. Для трансляции сетевых адресов (NAT) в iptbles/netfilter реализованы специальные цепочки правил SNAT (для статических IP) и MASQUERADE (для динамических IP, требует бОльших вычислительных ресурсов). Для доступа к внутренним сетевым сервисам (FTP, HTTP-сервер, SSH и VNC службы терминалов) из внешних сетей надо пробросить пакеты с внешних портов шлюза на внутренние порты серверов в сети ЦОД. Для этого в iptables/netfilter предусмотрены цепочки правил c механизмами DNAT (destination network address translation). Функции маршрутизации в операционных системах Linux/Unix реализованы на уровне ядра. Необходимые функции агрегации каналов в ОС Linux можно осуществить с помощью утилит "ifenslave Control Utility". Объединить интерфейсы в мост можно утилитой "brctl". Управление сетевыми интерфейсами и маршрутизацией осуществляется при помощи утилит "ifconfig" и "route". Управление vlan осуществляется при помощи утилиты "vconfig".
В соответствии с техническим заданием надо поместить ПО шлюза и брэндмауэра на изолированном физическом хосте. Чтобы изолировать эту подсистему от локальной сети ЦОД на сетевом уровне можно поместить ее в отдельной подсети, разделив узлом маршрутизации от пространства остальной сети. Так же одним из требований технического задания было обеспечение отказоустойчивости подключения на уровне каналов связи, как для внешней, так и для внутренней сети. Для внешней сети, эти требования можно выполнить, добавив и сконфигурировав дополнительный физический сетевой интерфейс и добавив скрипты проверки состояния канала связи (например, используя ICMP протокол для проверки состояния шлюза провайдера). Сетевые интерфейсы должны иметь различные каналы подключений. Это означает, что для подключения к внешним сетям следует использовать подключения двух различных провайдеров. Для реализации отказоустойчивости на уровне внутренних каналов связи следует использовать агрегацию каналов, причем каждый из сетевых интерфейсов должен быть подключен к разному устройству в стеке коммутации. Так же следует поместить подсеть, в которой располагается шлюз в отдельный сегмент VLAN. Перечисленное программное обеспечение, необходимое для организации подсистемы доступа к внешним сетям, существует с открытым исходным кодом и доступно в операционных системах Linux. Для этого подойдет 64-х разрядная операционная система Linux CentOS (актуальная версия 5.6). ОС CentOS способна полностью реализовать функционал подсистемы доступа к внешним сетям (утилиты и модули отсутствующие в базовом дистрибутиве возможно загрузить с внешних репозиториев CentOS).
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|