Примеры настройки политики маршрутизации#
Прозрачный прокси#
В следующем примере показано, как с помощью операционной системы можно перенаправить веб-трафик на внешний прозрачный прокси.
Настройка правила для перенаправления веб-трафика:
set policy route FILTER-WEB rule 1000 destination port 80
set policy route FILTER-WEB rule 1000 protocol tcp
set policy route FILTER-WEB rule 1000 set table 100
В результате создается политика маршрутизации FILTER-WEB
с одним правилом, устанавливающим таблицу маршрутизации для соответствующего трафика (TCP порт c номером 80) с идентификатором 100 вместо таблицы маршрутизации по умолчанию.
Создание таблицы маршрутизации с идентификатором 100 и добавление в нее нового шлюза по умолчанию, который будет использоваться трафиком, соответствующим заданной политике маршрутизации:
set protocols static table 100 route 0.0.0.0/0 next-hop 10.255.0.2
Ознакомиться в результатом создания таблицы маршрутизации с идентификатором 100 можно с помощью команды show ip route table 100
.
Последний шаг - применение политики маршрутизации к исходящему трафику на внутреннем (LAN) интерфейсе:
set interfaces ethernet eth1 policy route FILTER-WEB
Подключение к нескольким провайдерам#
Функционирование механизма PBR операционной системы состоит в сопоставлении диапазонов IP-адресов источников и пересылке трафика с использованием различных таблиц маршрутизации.
Список таблиц маршрутизации, используемых в примере далее, включает:
table 10
- таблица маршрутизации для виртуальной сети VLAN 10 (192.168.188.0/24);table 11
- таблица маршрутизации для виртуальной сети VLAN 11 (192.168.189.0/24);main
- таблица маршрутизации, используемая компонентами ПО Факел и другими интерфейсами, не используемые механизмом PBR.
Добавление маршрутов по умолчанию в таблицы маршрутизации table 10
и table 11
:
set protocols static table 10 route 0.0.0.0/0 next-hop 192.0.2.1
set protocols static table 11 route 0.0.0.0/0 next-hop 192.0.2.2
Добавление политики маршрутизации, соответствующую адресам отправителей заданных виртуальных сетей VLAN с помощью следующих команд:
set policy route PBR rule 20 set table '10'
set policy route PBR rule 20 description 'Route VLAN10 traffic to table 10'
set policy route PBR rule 20 source address '192.168.188.0/24'
set policy route PBR rule 30 set table '11'
set policy route PBR rule 30 description 'Route VLAN11 traffic to table 11'
set policy route PBR rule 30 source address '192.168.189.0/24'
Применение политики маршрутизации к входящему трафику на интерфейсах VLAN:
set interfaces ethernet eth0 vif 10 policy route 'PBR'
set interfaces ethernet eth0 vif 11 policy route 'PBR'
Опционально можно исключить трафик между виртуальными сетями VLAN (межу VLAN 10 и VLAN 11) из использования механизмом PBR:
set policy route PBR rule 10 description 'VLAN10 <-> VLAN11 shortcut'
set policy route PBR rule 10 destination address '192.168.188.0/24'
set policy route PBR rule 10 destination address '192.168.189.0/24'
set policy route PBR rule 10 set table 'main'
Указанные выше команды разрешают хостам из виртуальных сетей VLAN 10 и VLAN 11 взаимодействовать друг с другом посредством таблицы маршрутизации main
.
Локальный маршрут#
Следующий пример позволяет операционной системе использовать механизм PBR для трафика, отправителем которого является сам маршрутизатор. Такое решение подходит для нескольких провайдеров, и маршрутизатор будет отвечать с того же интерфейса, с которого был получен пакет. Также это решение применимо, если мы хотим, чтобы один VPN туннель проходил через одного провайдера, а второй - через другого.
203.0.113.0.254
- IP адрес на интерфейсеeth1
в направлении провайдера ISP1.192.168.2.254
- IP адрес на интерфейсеeth2
в направлении провайдера ISP2.table 10
- таблица маршрутизации, используемая для взаимодействия с провайдером ISP1.table 11
- таблица маршрутизации, используемая для взаимодействия с провайдером ISP2
Настройка PBR для локального маршрута:
set policy local-route rule 101 set table '10'
set policy local-route rule 101 source '203.0.113.0.254'
set policy local-route rule 102 set table '11'
set policy local-route rule 102 source '192.0.2.254'
set protocols static table 10 route '0.0.0.0/0' next-hop '203.0.113.0.1'
set protocols static table 11 route '0.0.0.0/0' next-hop '192.0.2.2'
Необходимо добавить несколько IP адресов отправителей в одно правило с одинаковым приоритетом:
set policy local-route rule 101 set table '10'
set policy local-route rule 101 source '203.0.113.0.254'
set policy local-route rule 101 source '203.0.113.0.253'
set policy local-route rule 101 source '198.51.100.0/24'