Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Программное обеспечение для подсистемы доступа к внешним сетям




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

Функционально подсистема доступа к внешним сетям будет являться шлюзом в интернет с функциями сетевого экрана (брэндмауэра).

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

На эту роль наиболее подходит программная реализация данной подсистемы. С открытым исходным кодом данный сервис представлен мощным и надежным сетевым экраном 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...