Управление межсетевыми экранами D-Link NetDefend
Маршрутизация на основе правил (Policy-Base Routing)
Когда возникает необходимость в PBR?
Маршрутизация на основе правил (PBR) используется там, где необходимо разделять трафик по какому-либо признаку и выбирать разный маршрут для каждого типа трафика в сочетании с интерфейсом источника/назначения и сетью источника/назначения.
PBR предоставляет администраторам гибкие возможности для определения правил маршрутизации на основе различных критериев, используя при этом альтернативные таблицы маршрутизации.
Стандартная маршрутизация отправляет пакеты согласно информации об IP-адресе получателя, полученной из статических или динамических протоколов маршрутизации. Например, при использовании OSPF, маршрут для пакета выбирается из SPF-расчета наименьшей длины пути. В PBR маршруты для трафика можно выбирать, исходя из определенных параметров трафика.
PBR может быть следующих типов:
-
Source based routing
Таблицы маршрутизации выбираются на основе источника трафика. При использовании подключений нескольких Интернет-провайдеров, PBR может направлять трафик разных пользователей по различным маршрутам. Например, трафик из одного диапазона адресов может передаваться через одно ISP-подключение, в то время как через второе ISP-подключение передается трафик из другого диапазона адресов.
-
Service based routing
Таблицы маршрутизации выбираются на основе сервисов. PBR может маршрутизировать конкретный протокол, например HTTP, через прокси-службы, такие как Web-кэш. Также можно настроить маршруты для определенных сервисов через выбранное ISP-подключение.
-
User based routing
Таблицы маршрутизации выбираются на основе идентификации пользователя или группы, к которой он принадлежит. Данный метод удобно использовать в распределенной корпоративной сети, при этом каждый пользователь может заключать договор с разными провайдерами.
Приведем пример использования различных маршрутов для входящего и исходящего трафика и/или решения вопроса о направлении всего трафика определенного сервиса (например, ftp-трафика) через второго провайдера, а в случае его недоступности, через первого. Для этого создается альтернативная таблица маршрутизации, например alternative, с соответствующими маршрутами:
и правило (Routing Rule), указывающее маршрутизацию трафика в соответствии с таблицами:
Для трафика, удовлетворяющего условиям, которые заданы фильтрами Address Filter (интерфейсы источника/назначения) и Service (протокол), указывается таблица маршрутизации, в соответствии с которой будет обрабатываться трафик (). Т.е., если трафик соответствует условиям данных фильтров, то он будет обработан согласно той таблице маршрутизации, на которую указывает Forward Table и Return Table. Forward Table определяет какой таблице маршрутизации обрабатывать исходящий трафик (в нашем примере – alternative), а Return Table указывает какая таблица маршрутизации будет использована для обработки входящего трафика (main). Благодаря такой структуре правил маршрутизации возможно гибкое управление как входящим, так и исходящим трафиком согласно заданным условиям (протоколу, источнику трафика и/или его назначению, а так же согласно его расписанию).
Выбор таблицы маршрутизации
Когда система получает пакет, относящийся к новому соединению, то для выбора таблицы маршрутизации выполняются следующие шаги:
- Прежде чем применять правила маршрутизации, с помощью основной таблицы маршрутизации определяется интерфейс назначения. Поэтому важно, чтобы в таблице main был хотя бы маршрут по умолчанию (all-nets), который будет использован в случае, если более подходящий маршрут не будет найден.
- На данном этапе, осуществляется поиск правил, соответствующих заданным параметрам: интерфейс и сеть источника/назначения и выбранный протокол/сервис. Если соответствующее правило найдено, то используется определенная таблица маршрутизации. Если соответствующее правило не найдено, то используется таблица main.
- Как только выбрана необходимая таблица маршрутизации, осуществляется проверка фактической принадлежности IP-адреса источника принимающему интерфейсу. Ищется соответствие с правилами доступа (Access Rules). Если правила доступа или соответствие с ними не найдено, то в выбранной таблице маршрутизации осуществляется обратный поиск, а в качестве параметра используется IP-адрес источника. В случае если соответствие не найдено, в журнале Log генерируется сообщение об ошибке Default access rule.
- На данном этапе в выбранной таблице маршрутизации осуществляется поиск маршрута, по которому пакет будет отправлен на интерфейс назначения. На результаты поиска влияет параметр Ordering. Для реализации виртуальной системы следует использовать опцию Only.
- С этого момента соединение обрабатывается обычным набором IP-правил. Если в проверке участвует правило SAT, то выполняется преобразование адреса. Решение о том, какой маршрут использовать принимается до преобразования адресов, но фактический поиск маршрута выполняется с уже преобразованным адресом. Следует обратить внимание на то, что первоначальный поиск маршрута для определения интерфейса назначения осуществляется с еще не преобразованным адресом.
- Если проверка IP-правилами прошла успешно, то в таблице состояний системы NetDefendOS открывается новое соединение и пакет передается через это соединение.
При выборе соответствующей альтернативной таблицы применяются связанные с таблицей параметры Ordering, которые устанавливают, как альтернативная таблица объединена с основной таблицей main. Существуют три возможные опции:
- Default – по умолчанию маршрут ищется сначала в основной таблице маршрутизации. Если соответствующий маршрут не найден или найден маршрут по умолчанию с интерфейсом назначения all-nets (0.0.0.0/0), то осуществляется поиск в альтернативной таблице. Если соответствующий маршрут в альтернативной таблице не найден, то будет использоваться маршрут из таблицы main.
- First – в этом случае маршрут ищется сначала в альтернативной таблице маршрутизации. Если соответствующий маршрут не найден, то поиск осуществляется в таблице main. Если в альтернативной таблице маршрутизации существует маршрут all-nets, то он выбирается, как подходящий.
- Only – при выборе данной опции все таблицы маршрутизации, за исключением альтернативной, игнорируются. В данном случае администратору следует выделить каждому приложению по отдельной таблице маршрутизации, с определенным набором интерфейсов. Данную опцию следует выбирать при создании виртуальных систем, так как в одной таблице маршрутизации можно определить набор интерфейсов.
Первые две опции можно считать как объединение альтернативной таблицы с таблицей main и назначать только один маршрут, если в обеих таблицах найдено соответствие.
ВНИМАНИЕ: Маршрут с интерфейсом all-nets обязательно должен присутствовать в основной таблице main.
Проброс портов с использованием PBR
Довольно часто возникают ситуации, когда необходимо настроить проброс портов для доступа из внешней во внутреннюю сеть по резервному каналу (например, WAN2).
Для этого надо создать правило, которое укажет устройству, что на весь входящий трафик, направленный к резервному интерфейсу (wan2_ip), необходимо использовать альтернативную таблицу маршрутизации (Return routing table). Ниже приведет пример данного правила: