Задача: установить связь по протоколу BGP v4 с соседом, с которым нас объединяет 4-х адресная линковая сетка 11.22.33.43 mask 255.255.255.252 в которой IP адрес маршрутизатора нашего аплинка 11.22.33.44, адрес нашего маршрутизатора 11.22.33.45 и 11.22.33.46 broadcast адрес. номер AS аплинка 11111, номер нашей AS 22222.
Мы собираемся анонсировать соседу 512 адресов: сеть 123.45.67.0 mask 255.255.254.0
Сконфигурируем интерфейс, смотрящий в сторону аплинка:
interface GigabitEthernet0/1
ip address 11.22.33.45 255.255.255.252
!
Отправим серые сети в Null
!
ip route 10.0.0.0 255.0.0.0 Null0 254
ip route 172.16.0.0 255.240.0.0 Null0 254
ip route 192.168.0.0 255.255.0.0 Null0 254
!
Добавим маршрут на свой полный блок:
!
ip route 123.45.67.0 255.255.254.0 Null0 254
!
Протокол BGP не будет анонсировать префикс, пока сам не узнает маршрут до него.
Именно для этого и создаётся этот маршрут, который присутствует в таблице маршрутизации всегда. Можно пророутить внутрь своей сети как полный блок (тогда маршрут в Null0 (нуль ноль) можно и не добавлять) так и его, побитые на подсети, части. Роутер всегда отправляет пакеты по маршруту с лучшим совпадением по маске. Поэтому можно не бояться роутить полный блок в Null0 и прописывать статик роуты на нижестоящие маршрутизаторы, отдавая им сеть “по кусочкам”, формируятем самым более мелкие подсети.
!
Для полноценного функционирования нашего маршрутизатора необходимо указать следующие параметры:
!
ip classless
ip routing
ip subnet-zero
!
Теперь можно непосредственно начать конфигурирование BGP сессии с аплинком:
!
router bgp 22222
no synchronization
bgp router-id 11.22.33.45
bgp log-neighbor-changes
bgp deterministic-med
network 123.45.67.0 mask 255.255.254.0
neighbor 11.22.33.44 remote-as 11111
neighbor 11.22.33.44 description AS11111-upstream
neighbor 11.22.33.44 version 4
neighbor 11.22.33.44 next-hop-self
neighbor 11.22.33.44 send-community
neighbor 11.22.33.44 soft-reconfiguration inbound
neighbor 11.22.33.44 weight 5000
neighbor 11.22.33.44 route-map map-AS11111-in in
neighbor 11.22.33.44 route-map map-AS11111-out out
no auto-summary
!
Для того чтобы управлять самим механизмом анонсирования аплинку конфигурируются route-map управляющие частями этого механизма.
!
Опишем «серые» номера AS`ок:
!
ip as-path access-list 1 permit _6451[2-9]_
ip as-path access-list 1 permit _645[2-9][0-9]_
ip as-path access-list 1 permit _64[6-9][0-9][0-9]_
ip as-path access-list 1 permit _65[0-9][0-9][0-9]_
!
Теперь опишем префиксы, начнём с маршрута по умолчанию:
!
ip prefix-list bogons description bogus nets
ip prefix-list bogons seq 15 permit 0.0.0.0/8 le 32
!
Опишем все серые сети:
!
ip prefix-list bogons seq 20 permit 127.0.0.0/8 le 32
ip prefix-list bogons seq 25 permit 10.0.0.0/8 le 32
ip prefix-list bogons seq 30 permit 172.16.0.0/12 le 32
ip prefix-list bogons seq 35 permit 192.168.0.0/16 le 32
ip prefix-list bogons seq 40 permit 169.254.0.0/16 le 32
ip prefix-list bogons seq 45 permit 224.0.0.0/4 le 32
ip prefix-list bogons seq 50 permit 240.0.0.0/4 le 32
!
И наконец опишем свои префиксы:
!
ip prefix-list own-prefixes seq 5 permit 123.45.67.0/23
!
Теперь укажем какие префиксы мы будем анонсировать своему соседу, в этой же карте можно также указывать set as-path prepend для удлиннения маршрута в свою AS, таким образом управлять входящим трафиком
!
route-map map-AS11111-out permit 100
description permit our prefixes
match ip address prefix-list own-prefixes
!
Запретим выброс аплинку информации о серых AS`ках
!
route-map map-AS11111-in deny 100
description filter for private ASs
match as-path 1
!
Запретим анонсы серых сетей
!
route-map map-AS11111-in deny 110
description filter for bogons nets
match ip address prefix-list bogons
!
И установим политику, применяемую для управления исходящим трафиком
!
route-map map-AS11111-in permit 200
description set default loc-pref
set local-preference 500
!
Тэги: Cisco