Возникла задача создать многоточечную сеть ВПН на quagga-like системах с топологией "звезда". Так как кол-во точек могло быть достаточно большим, а также необходимо чтобы решение было резервируемым, то маршрутизацию решил сделать на BGP, для совместимости с имеющимся оборудованием CISCO, в котором данный протокол уже использовался.
Обычная конфигурация стандартно заработала, но возникла проблема с доставкой маршрутов между удаленными точками: -центральный узел их не отдавал. Почитав мануалы включил route-reflector-client и тут началось странное, на 1-м удаленном роутере всё как должно быть, а на другом, с аналогичной конфигурацией, маршрут приходит, но не инсталлируется в таблицу, причем, если в bgp конфигурации центральной точки убрать и снова прописать route-reflect-client, маршрут на 2-й точке инсталлировался, но потом опять исчезал. Выяснилось, что удаленные точки считают, что они находятся в bgp-кластере с название router-id центральной точки. Указав на центральном узле bgp claster-id равное router-id, вся маршрутизация заработала штатно. Связь между точками осуществлялась по vpn-туннелям с /30 битной адресацией (192.168.255.252/30, 192.168.255.248/30 и т.д.)
!-HUB-
!
router bgp 65000
bgp router-id 10.10.10.1
bgp always-compare-med
bgp cluster-id 10.10.10.1
network 10.10.10.1/32
redistribute connected
neighbor 10.0.0.102 remote-as 65000
neighbor 10.0.0.106 remote-as 65000
neighbor 10.0.0.106 weight 20000 !-увеличить вес для маршрутов основного канала
neighbor 192.168.255.250 remote-as 65000
neighbor 192.168.255.250 route-reflector-client
neighbor 192.168.255.250 next-hop-self
neighbor 192.168.255.254 remote-as 65000
neighbor 192.168.255.254 route-reflector-client
neighbor 192.168.255.254 next-hop-self
!
ИЛИ указывать peer через шаблон:
neighbor intergr peer-group
neighbor intergr remote-as 65000
neighbor intergr route-reflector-client
neighbor intergr next-hop-self
neighbor intergr soft-reconfiguration inbound
neighbor 192.168.255.254 peer-group intergr
-----------------------
!-SPOKE-
!
Обычная конфигурация стандартно заработала, но возникла проблема с доставкой маршрутов между удаленными точками: -центральный узел их не отдавал. Почитав мануалы включил route-reflector-client и тут началось странное, на 1-м удаленном роутере всё как должно быть, а на другом, с аналогичной конфигурацией, маршрут приходит, но не инсталлируется в таблицу, причем, если в bgp конфигурации центральной точки убрать и снова прописать route-reflect-client, маршрут на 2-й точке инсталлировался, но потом опять исчезал. Выяснилось, что удаленные точки считают, что они находятся в bgp-кластере с название router-id центральной точки. Указав на центральном узле bgp claster-id равное router-id, вся маршрутизация заработала штатно. Связь между точками осуществлялась по vpn-туннелям с /30 битной адресацией (192.168.255.252/30, 192.168.255.248/30 и т.д.)
!-HUB-
!
router bgp 65000
bgp router-id 10.10.10.1
bgp always-compare-med
bgp cluster-id 10.10.10.1
network 10.10.10.1/32
redistribute connected
neighbor 10.0.0.102 remote-as 65000
neighbor 10.0.0.106 remote-as 65000
neighbor 10.0.0.106 weight 20000 !-увеличить вес для маршрутов основного канала
neighbor 192.168.255.250 remote-as 65000
neighbor 192.168.255.250 route-reflector-client
neighbor 192.168.255.250 next-hop-self
neighbor 192.168.255.254 remote-as 65000
neighbor 192.168.255.254 route-reflector-client
neighbor 192.168.255.254 next-hop-self
!
ИЛИ указывать peer через шаблон:
neighbor intergr peer-group
neighbor intergr remote-as 65000
neighbor intergr route-reflector-client
neighbor intergr next-hop-self
neighbor intergr soft-reconfiguration inbound
neighbor 192.168.255.254 peer-group intergr
-----------------------
!-SPOKE-
!
router bgp 65000
bgp router-id 192.168.50.194
network 192.168.50.0/24
networ 192.168.255.254/32
redistribute connected
neighbor 192.168.255.253 remote-as 65000
neighbor 192.168.255.253 next-hop-self ! (не работает если маршрут от 3-го роутера, нужен "set ip next-hop 192.168.255.253" в route-map )
neighbor 192.168.255.253 route-map route-in in
neighbor 192.168.255.253 route-map route-out out
!
!
router prefix-list route-in seq 10 permit 10.0.1.0/24
router prefix-list route-in seq 20 permit 192.168.22.0/24
!
router prefix-list route-out seq 10 permit 192.168.50.0/24
!
router route-map route-in permit 100
match ip address prefix-list route-in
set ip next-hop 192.168.255.253
set ip next-hop 192.168.255.253
!
router route-map route-out permit 100
match ip address prefix-list route-out
команды для отладки:
!-HUB-
# show bgp 192.168.50.0/24
BGP routing table entry for 192.168.50.0/24
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Advertised to non peer-group peers:
10.0.0.102 10.0.0.106 192.168.255.250
Local, (Received from a RR-client)
192.168.255.254 (metric 1) from 192.168.255.254 (192.168.255.254)
Origin IGP, metric 0, localpref 100, valid, internal, best
Last update: Tue Oct 10 15:43:22 2017
!-SPOKE-
# show bgp 192.168.22.0/24
BGP routing table entry for 192.168.22.0/24
Paths: (1 available, no best path)
Not advertised to any peer
Local
192.168.255.250 (inaccessible) from 192.168.255.253 (192.168.255.250)
Origin IGP, metric 0, localpref 100, valid, internal
Originator: 192.168.255.250, Cluster list: 10.10.10.1
Last update: Tue Oct 10 16:01:47 2017
show bgp
show ip route bgp
Комментариев нет:
Отправить комментарий