В продолжении статьи про AS PATH prepending в BGP приведу примеры конфигураций и фильтрации маршрутов по AS PATH для Cisco и Juniper. Это поможет студентам увидеть, как одни и те же идеи реализуются на разных платформах.
Пример 1: AS PATH Prepending (Cisco и Juniper)
Cisco IOS:
router bgp 65000
neighbor 192.0.2.1 remote-as 65010
neighbor 198.51.100.1 remote-as 65020
network 203.0.113.0 mask 255.255.255.0
route-map PREPEND-AS out
set as-path prepend 65000 65000 65000
neighbor 198.51.100.1 route-map PREPEND-AS out
На выходе к провайдеру 198.51.100.1 (ISP2) добавляем 3 копии собственного AS (65000), делая маршрут менее привлекательным.
Juniper JunOS:
set policy-options policy-statement PREPEND-AS term 1 from protocol bgp
set policy-options policy-statement PREPEND-AS term 1 then as-path-prepend "65000 65000 65000"
set policy-options policy-statement PREPEND-AS then accept set protocols bgp group ISP2 export PREPEND-AS
Аналогично, мы используем as-path-prepend
в policy-statement, применяем его к группе ISP2 на экспорт.
Пример 2: Фильтрация маршрутов по AS PATH
Cisco IOS:
ip as-path access-list 100 deny _65066_
ip as-path access-list 100 permit .*
route-map BLOCK-AS-IN deny 10
match as-path 100
route-map BLOCK-AS-IN permit 20
router bgp 65000
neighbor 203.0.113.1 remote-as 65030
neighbor 203.0.113.1 route-map BLOCK-AS-IN in
➡️ Мы запрещаем все маршруты, в которых присутствует AS 65066. Все остальные разрешены.
Juniper JunOS:
set policy-options as-path BLOCKED-AS ".*65066.*"
set policy-options policy-statement FILTER-IN term BLOCK-AS from as-path BLOCKED-AS
set policy-options policy-statement FILTER-IN term BLOCK-AS then reject
set policy-options policy-statement FILTER-IN term ACCEPT-ALL then accept
set protocols bgp group EXT-PEERS import FILTER-IN
Создаём AS path list, применяем через policy-statement на входящие маршруты.
Компонент | Cisco IOS | Juniper JunOS |
---|---|---|
Списки AS Path | ip as-path access-list |
policy-options as-path |
Обработка маршрутов | route-map |
policy-statement |
Применение политики | В команде neighbor |
В protocols bgp group (import/export ) |