Это ключевое слово, имя или описание фильтра импорта.
Для передачи маршрутов из протокола в таблицу BIRD.
Описать фильтр маршрутов в одной из следующих форм:
all
none
filter имя
dynamic-routing.extra
.filter { команды фильтра }
where выражение
При редактировании поле автоматически преобразуется в текстовое окно и обратно. Отступы игнорируются, что позволяет форматировать текст аналогично файлу конфигурации BIRD.
Примеры фильтров
(источник: https://saidvandeklundert.net/2015-06-15-bird-basic-filter/)
filter rr_export { # term 1 | Установить community 1:100 if (net = 192.168.1.0/24) then { bgp_community.add ((1,100)); accept; } # term 2 | Установить community 1:1000 if (net = 192.168.2.0/24) then { bgp_community.add ((1,1000)); accept; } # term 3 | Установить local preference 175 if (net = 192.168.3.0/24) then { bgp_local_pref=175; accept; } # term 4 | Добавить AS в начало пути if (net = 192.168.4.0/24) then { bgp_path.prepend(65000); accept; } # term 5 | заменить next hop на произвольное значение # необходимо убедиться, что маршрут до нового next hop известен if (net = 192.168.5.0/24) then { bgp_next_hop = 34.0.1.1; accept; } # term 6 | Установить MED if (net = 192.168.6.0/24) then { bgp_med = 175; accept; } # term 7 | Для маршрутов, относящихся к определённой подсети # И определённому community, # изменить два атрибута PATH attributes и удалить communities if (net = 192.168.7.0/24 && (541,541) ~ bgp_community) then { bgp_community.empty; bgp_med = 241; bgp_local_pref=175; accept; } # term 8 | выполнить действия для определённой подсети ИЛИ MED if (net = 192.168.8.0/24 || bgp_med = 321) then { bgp_med = 8; bgp_local_pref=8; accept; } # term 9 | поиск в стиле prefix-list, # данный фильтр действует на все префиксы с длиной маски от 20 до 24 if ( net ~ [ 0.0.0.0/0{20,24} ] ) then { bgp_med = 88; bgp_local_pref=88; accept; } # Пропустить все остальные маршруты без изменений else accept; }
© Network Systems Group 2015–2024 | Отдел документации |