Policy-based routing в Juniper SRX

Понадобилось мне тут настроить Policy-based routing на JuniperSRX, о котором я уже рассказывал. Дело-то, в общем-то нехитрое, и найти решение несложно… но пусть будет, для себя. Кстати, в Juniper это называется немного иначе: Filter-based forwarding, он же FBF. Для него предназначен даже специальный тип routing-instance под названием forwarding.

Тем более, что у меня случай чуть сложней: мне нужно организовать PBR внутри VRF.

Заходим на роутер в режиме конфигурации и приступаем:
#Здесь мы в настройках нашего Virtual Router указываем
#что будем инжектить в RIB-группу
#direct-connected маршруты
set routing-instances BRANCH_VR routing-options interface-routes rib-group inet RIB_BW_TEST_RSRV
#ну а затем в настройках RIB-группы делаем, собственно, импорт
set routing-options rib-groups RIB_BW_TEST_RSRV import-rib BRANCH_VR.inet.0

#Настраиваем инстанс PBR, у меня это филиал в Краснодаре
#Не забываем указать нужный static route
edit routing-instances
set PBR_BW_TEST_KRD_RSRV instance-type forwarding
set PBR_BW_TEST_KRD_RSRV routing-options static route 172.19.100.100/32 next-hop 192.168.0.2
set PBR_BW_TEST_KRD_RSRV description "Bandwidth test to KRD Branch"

top
edit firewall family inet
#здесь мы указываем, что все пакеты, идущие на 172.19.100.100/32
#заворачиваются в PBR_BW_TEST_KRD_RSRV
set filter FW_BW_TEST_RSRV term 0 from source-address 0.0.0.0/0
set filter FW_BW_TEST_RSRV term 0 from destination-address 172.19.100.100/32
set filter FW_BW_TEST_RSRV term 0 then routing-instance PBR_BW_TEST_KRD_RSRV
#добавляем count, чтобы можно было считать попадающие в правило пакеты
set filter FW_BW_TEST_RSRV term 0 then count COUNT_KRD_RSRV
#весь трафик, не попадающий под условия, мы выпускаем
set filter FW_BW_TEST_RSRV term 1 then accept

top
#указываем, что PBR_BW_TEST_KRD_RSRV будет через RIB-group получать
#маршруты от BRANCH_VR
set routing-options rib-groups RIB_BW_TEST_RSRV import-rib PBR_BW_TEST_KRD_RSRV.inet.0

#применяем фильтр к интерфейсу
set interfaces reth0 unit 314 family inet filter input FW_BW_TEST_RSRV

Будьте особенно аккуратны, если используете не filter, а filter list, позволяющий вешать на интерфейс несколько правил кряду. Если в одном из правил у вас затесалось безусловное “then accept”, то трафик до PBR может и не дойти :).

Вот так все просто.

Leave a Reply