April 15th, 2021

"Фильтруем маршруты весьма можжевельно"


- Что ещё может фильтровать роутер/аппаратный файрволл кроме пакетов?
- Маршруты!


Условия:
Есть Juniper SRX, внутри него "нарезаны" виртуальные роутеры VR1 и VR2.
К ним назначены интерфейсы GE1, GE3 и GE2, G4 соответственно.

Сети/адреса на интерфейсах следующие:
GE1 - 1.1.1.1/24
GE2 - 2.2.2.2/24
GE3 - 10.0.1.1/24
GE4 - 10.0.2.2/24

Задачи:
1. Объединить VR-ы в RIB-группы, чтобы траффик мог бегать из 10.0.1.0 в 10.0.2.0 и обратно.
2. Исключить маршруты 1.1.1.1 и 2.2.2.2 из противоположных VR-ов.

Решение:
Неверным решением "в лоб" будет прописать в VR-ах статический маршрут вида:
route 1.1.1.0/24 reject;

Это НЕ сработает, так как direct маршрут имеет в Juniper наивысший, 0-й приоритет (что логично).
"Самых умных" расстрою: повышение приоритета статического маршрута до с дефолтного 5-го до 0-го, аналогично, эффекта не даёт.

Решение верное:
1) "Собрать" VR-ы в rib-group-ы.

2) Добавить в policy-options policy-statement примерно следующее:


3) После этого данный policy-statement добавить в import-rib.

Особо отмечу, что policy-options - это ЧРЕЗВЫЧАЙНО гибкая штука, которая позволяет при должном опыте и фантазии вытворять крайне любопытные вещи, особенно при использовании динамической маршрутизации.

__