Перейти к содержанию

Редистрибуция маршрутов

В данной статье рассматривается настройка редистрибуции маршрутов между различными протоколами динамической маршрутизации (OSPF, BGP), а также источниками маршрутов (static).

Описание и назначение функции и выполняемой настройки

Редистрибуция маршрутов – механизм передачи маршрутов между различными протоколами маршрутизации.

Функция используется для:

  • объединения доменов маршрутизации;
  • обмена маршрутами между IGP и BGP;
  • распространения статических и подключенных маршрутов;
  • построения граничных маршрутизаторов (ASBR).

При редистрибуции происходит изменение атрибутов маршрута:

  • тип маршрута;
  • метрика;
  • источник (origin);
  • дополнительные параметры (MED, route-policy).

Необходимые условия и предварительные требования

Перед настройкой редистрибуции должны быть выполнены:

  • настроены протоколы маршрутизации (OSPF, BGP);
  • обеспечена IP-связанность между устройствами;
  • корректно настроены router-id;
  • определены источники маршрутов (static, connected, протоколы);
  • при необходимости подготовлены route-policy и prefix-list.

Ограничения:

  • редистрибуция не выполняется автоматически;
  • возможны петли маршрутизации без фильтрации;
  • требуется контроль метрик и типов маршрутов;
  • рекомендуется использовать route-policy.

Назначение применяемой команды/конфигурации

BGP – выбор источника редистрибуции

1
2
3
4
5
6
SW1(config-bgp)#redistribute ?
  connected   Local configure route
  isis        ISIS protocol
  ospf        Route orignated from Open Shortest Path First(OSPF)
  rip         Route orignated from Router Information Protocol(RIP)
  static      Static configured route
– Команда redistribute в BGP позволяет импортировать маршруты из других источников (connected, static, OSPF, IS-IS, RIP) в BGP-таблицу.

OSPF – выбор источника редистрибуции

1
2
3
4
5
6
7
SW1(config-ospf-2)#redistribute ?
  bgp       Enable ospf redistribute bgp route to ospf
  connect   Enable ospf redistribute local route to ospf
  isis      Redistribute isis route to ospf
  ospf      Redistribute ospf route to ospf
  rip       Redistribute rip route to ospf
  static    Enable ospf redistribute static route to ospf
– Команда redistribute в OSPF позволяет импортировать маршруты из других источников (BGP, static, connected и др.) в базу OSPF.

BGP – редистрибуция OSPF

1
2
3
4
SW1(config-bgp)#redistribute ospf
  med            Multi-Exit-Discriminator
  route-policy   Route policy
  <cr>
– Команда redistribute ospf импортирует маршруты из OSPF в BGP. – Параметр med задаёт значение MED для импортируемых маршрутов. – Параметр route-policy применяется для фильтрации и изменения атрибутов маршрутов.

OSPF – редистрибуция BGP

1
2
3
4
5
6
7
8
SW1(config-ospf-2)#redistribute bgp
  A.B.C.D        Dest network
  metric         Configure external route metric
  no-translate   Disable translate to external lsa
  range          Ospf redistribute range route
  route-policy   Route policy
  translate      Enable translate to external lsa
  <cr>
– Команда redistribute bgp импортирует маршруты из BGP в OSPF. – Параметр metric задаёт стоимость внешнего маршрута. – Параметр route-policy позволяет фильтровать маршруты. – Параметры translate/no-translate управляют преобразованием маршрутов в LSA.

BGP – редистрибуция статических маршрутов

SW1(config-bgp)#redistribute static
– Команда redistribute static импортирует статические маршруты в BGP.

OSPF – редистрибуция статических маршрутов

SW1(config-ospf-2)#redistribute static – Команда redistribute static импортирует статические маршруты в OSPF как внешние маршруты (ASE).


Пример конфигурации

Редистрибуция маршрутов.png

Первоначальное состояние

Конфигурация на SW1

SW1#show running-config
!Device running configuration:
!version V1.0.2
!1970/02/12 16:50:48
!
hostname SW1
!
vlan 1,3000
!
router ospf 2
 router-id 10.10.13.1
 network 10.10.13.0 255.255.255.0 area 0
!
router bgp 65100
 router-id 1.1.1.1
  neighbor 172.30.0.2 remote-as 65100
 ipv4-family unicast
  neighbor 172.30.0.2 enable
  network 1.1.1.1 255.255.255.255
  network 172.30.0.0 255.255.255.0
!
interface vlan 3000
 ip address 172.30.0.1/24
!
interface 10gigaethernet 1/0/1
 port link-type access
 port default vlan 3000
!
interface 10gigaethernet 1/0/3
 work-mode router
 ip address 10.10.13.1/24
!
interface loopback 1
 ip address 1.1.1.1/32
!
ip route-static 100.100.100.100 255.255.255.255 interface null 0
!
Конфигурация на SW2
SW2#show running-config
!Device running configuration:
!version V1.0.2
!1970/02/12 17:21:47
!
vlan 1,3000
!
hostname SW2
!
router bgp 65100
 router-id 2.2.2.2
  neighbor 172.30.0.1 remote-as 65100
 ipv4-family unicast
  neighbor 172.30.0.1 enable
  network 2.2.2.2 255.255.255.255
  network 172.30.0.0 255.255.255.0
!
interface vlan 3000
 ip address 172.30.0.2/24
!
interface 10gigaethernet 1/0/1
 port link-type access
 port default vlan 3000
!
interface loopback 1
 ip address 2.2.2.2/32
!
Конфигурация на SW3
SW3#show running-config
!Device running configuration:
!version V1.0.2
!1970/01/11 19:22:45
!
hostname SW3
!
router ospf 2
 router-id 10.10.13.2
 network 3.3.3.3 255.255.255.255 area 0
 network 10.10.13.0 255.255.255.0 area 0
!
interface 10gigaethernet 1/0/3
 work-mode router
 ip address 10.10.13.2/24
!
interface loopback 1
 ip address 3.3.3.3/32
!


Redistribute connected и ospf в BGP

В данном сценарии устройство SW1 выполняет роль граничного маршрутизатора между доменами OSPF и BGP. Требуется передать в BGP маршруты, полученные из OSPF, а также статические маршруты.

Перед редистрибуцией выполняется подготовка:

  • создаётся prefix-list для ограничения статических маршрутов;
  • настраивается route-policy для фильтрации и выбора только необходимых маршрутов;
  • для OSPF дополнительно фильтруются только внутренние маршруты (internal).

    1
    2
    3
    SW1(config)#ip prefix-list STATIC permit 100.100.100.100/32
    SW1(config)#route-policy STATIC permit node 1
    SW1(config-route-policy-STATIC-1)#match ip-prefix STATIC
    
    SW1(config)#route-policy OSPF permit node 1
    SW1(config-route-policy-OSPF-1)#match route-type internal
    
    1
    2
    3
    4
    SW1(config)#router bgp 65100
    SW1(config-bgp)#redistribute static route-policy STATIC
    SW1(config-bgp)#redistribute ospf route-policy OSPF
    SW1(config-bgp)#redistribute ospf med 6
    
    В результате:

  • в BGP импортируются только статические маршруты, соответствующие prefix-list;

  • из OSPF импортируются только внутренние маршруты;
  • для маршрутов из OSPF устанавливается MED = 6;
  • маршруты получают атрибут origin incomplete.

Просмотр состояния SW2 коммутатора:

1
2
3
4
5
6
7
8
SW2#show ip bgp route
DestAddr/Prefixlen      Peer                   Nexthop                Protocol  Med         LocalPrf    Origin     Vpn-Instance   As-Path
1.1.1.1/32              172.30.0.1             172.30.0.1             bgp       0           100         IGP        N/A
2.2.2.2/32              0.0.0.0                0.0.0.0                other     0           0           IGP        N/A
-> 3.3.3.3/32              172.30.0.1             172.30.0.1             bgp       6           100         Incomplete N/A
-> 100.100.100.100/32      172.30.0.1             172.30.0.1             bgp       60          100         Incomplete N/A
172.30.0.0/24           0.0.0.0                0.0.0.0                other     0           0           IGP        N/A
172.30.0.0/24           172.30.0.1             172.30.0.1             bgp       0           100         IGP        N/A
Ключевые моменты:

  • стрелками отмечены маршруты, полученные через редистрибуцию;
  • Origin = Incomplete указывает на редистрибуцию;
  • значение MED соответствует настройке.

Redistribute connected и bgp в OSPF

В данном сценарии выполняется обратная задача – импорт маршрутов из BGP и статических маршрутов в OSPF-домен.

Устройство SW1 становится ASBR и распространяет внешние маршруты в OSPF.

Необходимо явно указать redistribute bgp и redistribute bgp, которые используются для включения редистрибуции

1
2
3
4
5
6
SW1(config)#router ospf 2
SW1(config-ospf-2)#redistribute bgp metric 60 type 1
SW1(config-ospf-2)#redistribute static metric 80 type 0
SW1(config-ospf-2)#redistribute static route-policy STATIC
SW1(config-ospf-2)#redistribute bgp
SW1(config-ospf-2)#redistribute static
В результате:

  • маршруты из BGP импортируются в OSPF как внешние (ASE);
  • статические маршруты также импортируются в OSPF;
  • задаются метрики:
    • BGP → OSPF: metric 60, type 1 (E1);
    • static → OSPF: metric 80, type 0 (E2);
  • применяется фильтрация через route-policy.

    SW3#sh ip ospf route
    
     OSPF Process 1
     OSPF Process 2
     RoutType  Prefix              PathType  Cost    Cost2       NextHop           BackupNextHop     AreaId  Time
     ASBR      10.10.13.1/32       INTRA     1       0           10.10.13.1        0.0.0.0           0       0:05:43
    -> Network   2.2.2.2/32          ASE       61      0           10.10.13.1        0.0.0.0           N/A     0:05:43
     Network   3.3.3.3/32          INTRA     1       0           3.3.3.3           0.0.0.0           N/A     0:08:32
     Network   10.10.13.0/24       INTRA     1       0           10.10.13.2        0.0.0.0           N/A     0:07:46
    -> Network   100.100.100.100/32  ASE2      1       80          10.10.13.1        0.0.0.0           N/A     0:06:04
    
    Ключевые моменты:

  • маршруты помечены как внешние (ASE, ASE2);

  • NextHop указывает на ASBR (SW1);
  • метрики соответствуют заданным значениям;
  • стрелками выделены редистрибутированные маршруты.

Просмотр конфигурации

Просмотр конфигурации SW1

SW1#show running-config
!Device running configuration:
!version V1.0.2
!1970/02/13 07:59:17
!
hostname SW1
!
vlan 1,3000
!
ip prefix-list STATIC index 10 permit 100.100.100.100/32
!
route-policy OSPF permit node 1
 match route-type internal
route-policy STATIC permit node 1
!
router ospf 2
 router-id 10.10.13.1
 network 10.10.13.0 255.255.255.0 area 0
 redistribute static metric 80 type 0
 redistribute bgp metric 60 type 1
 redistribute static
 redistribute static route-policy STATIC
 redistribute bgp
!
router bgp 65100
 router-id 1.1.1.1
  neighbor 172.30.0.2 remote-as 65100
 ipv4-family unicast
  neighbor 172.30.0.2 enable
  redistribute static route-policy STATIC
  redistribute ospf route-policy OSPF
  network 1.1.1.1 255.255.255.255
  network 172.30.0.0 255.255.255.0
!
interface vlan 3000
 ip address 172.30.0.1/24
!
interface 10gigaethernet 1/0/1
 port link-type access
 port default vlan 3000
!
interface 10gigaethernet 1/0/24
 work-mode router
 ip address 10.10.12.1/24
!
interface loopback 2
 ip address 1.1.1.1/32
!
ip route-static 100.100.100.100 255.255.255.255 interface null 0
!
Просмотр конфигурации SW2
SW2#show running-config
!Device running configuration:
!version V1.0.2
!1970/02/13 08:35:12
!
hostname SW2
!
vlan 1,3000
!
router ospf 1
 router-id 10.10.12.2
 network 10.30.2.0 255.255.255.0 area 0
 network 172.30.0.0 255.255.255.0 area 0
!
router bgp 65100
 router-id 2.2.2.2
  neighbor 172.30.0.1 remote-as 65100
 ipv4-family unicast
  neighbor 172.30.0.1 enable
  network 2.2.2.2 255.255.255.255
  network 172.30.0.0 255.255.255.0
!
interface vlan 3000
 ip address 172.30.0.2/24
!
interface 10gigaethernet 1/0/1
 port link-type access
 port default vlan 3000
!
interface loopback 1
 ip address 2.2.2.2/32
!
Просмотр конфигурации SW3
SW3#show running-config
!Device running configuration:
!version V1.0.2
!1970/01/12 10:34:58
!
hostname SW3
!
router ospf 2
 router-id 10.10.13.2
 network 3.3.3.3 255.255.255.255 area 0
 network 10.10.13.0 255.255.255.0 area 0
!
interface 10gigaethernet 1/0/3
 work-mode router
 ip address 10.10.13.2/24
!
interface loopback 1
 ip address 3.3.3.3/32
!


История возникновения команды

Команды применимы для:

  • аппаратных платформ CIT серии L3200;
  • версий программного обеспечения v1.0.2 и выше.

Версия ПО

Функциональность является актуальной, начиная с версии ПО v1.0.2.


Ссылка на внешнюю документацию

Стандарт

  • RFC 4271: A Border Gateway Protocol 4 (BGP-4);
  • RFC 2328: OSPF Version 2.