69 / 63 / 18
Регистрация: 01.08.2017
Сообщений: 232

[Tutorial] RIB groups (Route leaking)

27.02.2018, 17:34. Показов 15526. Ответов 0

Студворк — интернет-сервис помощи студентам
# Уровень знаний: JNCIS ent
#RIB #RIB_groups #Route_leaking
В рассмотренной теме от MonaxGT Routing-instance перенос маршрутов между routing instance выполняется через внутренний интерфейс (lt-интерфейс) и ospf.
Рассмотрим другой вариант обмена маршрутами между routing instance. Если разобраться - он проще, не нагружает роутер дополнительным протоколом маршрутизации и позволяет передавать маршруты с сохранением всех preference и metric, что часто бывает критичным. Для этого используется механизм передачи маршрутов через RIB groups (в терминологии cisco - route leaking, но у juniper он мне кажется более понятным и удобным).
Для начала - надо разобраться с фильтрами маршрутов. Создаются они в иерархии # policy-options policy-statement. например:
Code
1
2
3
4
5
6
7
8
9
10
set policy-options policy-statement rib-bl-df term 1 from protocol local
set policy-options policy-statement rib-bl-df term 1 from protocol direct
set policy-options policy-statement rib-bl-df term 1 from route-filter 192.168.5.0/24 orlonger
set policy-options policy-statement rib-bl-df term 1 from route-filter 10.11.12.12/30 exact
set policy-options policy-statement rib-bl-df term 1 from route-filter 10.11.12.16/30 exact
set policy-options policy-statement rib-bl-df term 1 from route-filter 192.168.3.248/29 orlonger
set policy-options policy-statement rib-bl-df term 1 then accept
set policy-options policy-statement rib-bl-df term 2 from protocol ospf
set policy-options policy-statement rib-bl-df term 2 then accept
set policy-options policy-statement rib-bl-df term 3 then reject
В первом терме: вначале указываем тип протокола, к которому будет применяться роут-фильтр (наглядно в таблице маршрутизации, смотрим через # run show route terse, столбик P). В моём случае это direct - подключенные непосредственно к маршрутизатору сети, так же могут быть static, ospf, BGP и т.д. Потом указываем, какие маршруты выбираются:
  • exact – только указанный маршрут
  • longer — все маршруты, с маской уже указанного, которые входят в эту сеть (/24 longer = /25, /26, /27, /28, /29, /30, /31, /32)
  • orlonger – все маршруты как и в longer, но включая и его самого
  • upto /x – все маршруты, входящие в указанную сеть и с маской ниже x
  • prefix-length-range /x–/y – маршруты, входящие в указанную сеть и имеющую маску из указанного prefix-length
и указываем accept - разрешить, reject - запретить.
Второй терм - аналогично, по нему - разрешены все маршруты в этом routing instance, которые получены через ospf
И третий терм - запрет всех остальных маршрутов.
Теперь - создадим rib-groups
Code
1
2
3
set routing-options rib-groups rib-bl-df import-rib RI_bl.inet.0
set routing-options rib-groups rib-bl-df import-rib inet.0
set routing-options rib-groups rib-bl-df import-policy rib-bl-df
Из таблицы маршрутизации RI_bl.inet.0 переносим в таблицу маршрутизации inet.0 (это default routing tables для ipv4) те маршруты, которые попадают в policy rib-bl-df, которую мы создали ранее.
Теперь осталось только применить эту RIB-groups, в зависимости от того, где она должна сработать (настроеная в routing-options - не глобальное применение, а всего лишь создание).
Code
1
2
3
set routing-options interface-routes rib-group inet rib-bl-df 
set routing-options static rib-group rib-bl-df 
set protocols ospf rib-group rib-bl-df
Небольшие неочевидные подробности:
  • Если добавить ещё одну таблицу маршрутизации дальше
    set routing-options rib-groups rib-bl-df import-rib RI_bl.inet.0
    set routing-options rib-groups rib-bl-df import-rib inet.0
    set routing-options rib-groups rib-bl-df import-rib test.inet.0

    будут передаваться маршруты из таблицы RI_bl.inet.0 в таблицу inet.0, и из таблицы RI_bl.inet.0 в таблицу test.inet.0. Аналогично - для большего кол-ва таблиц маршрутизации. В более привычном xml-выводе выглядит так:
    Кликните здесь для просмотра всего текста
    rib-groups {
    rib-bl-df {
    import-rib [ RI_bl.inet.0 inet.0 test.inet.0 ];
    import-policy rib-bl-df;
    }
  • Интерфейсы, расположенные в разных routing instance - не могут находиться в одной зоне, поэтому после переноса маршрутов необходимо не забыть прописать соответствующие security policies, позволяющие ходить трафику между этими зонами
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.02.2018, 17:34
Ответы с готовыми решениями:

Groups в ListView
Здравствуйте. У меня снова возник вопрос по ListView. Необходимо прикрепить Item'ы в группы. void __fastcall...

Deny Access Groups
Не вижу Deny Access Groups под Full Access Administrator. Странно как то все: а одном сервере кластера я вижу их, а на втором нет (хотя до...

Пропали Users and groups
Users and groups При просмотре computer management->Local users and Groups выдается сообщение Library not register и...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.02.2018, 17:34
Помогаю со студенческими работами здесь

Roles & Groups
Смотрю как сделать Roles и Groups для аутентификации в приложении на Silverlight. В примерах настраивается через "ASP.NET...

Удаление из Deny Access Groups
появилась проблема, после удаления юзера , через 5 дней он удаляется в Deny Access Groups, в базе admin requests есть запись *Action:...

VK API groups.search регулярные выражения
Есть кусочек кода: textBox1.Text = client.DownloadString("https://api.vk.com/method/groups.search?q="+ zapros +...

Записать группы Match.Groups в файл одной строкой
Добрый день! Столкнулся с очередной неразрешимой для меня проблемой. В этом коде содержится значение "-0.1", разбитое на...

SignalR Groups как добавить другого пользователя в группу
Использую группы в SignalR Есть команда чтобы обратившегося пользователя добавить в группу await...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru