5.7. Настройка BGP

Назначение

Border Gateway Protocol (BGP) - это протокол маршрутизации между автономными системами - AS (Autonomous System).

Описание

Реализация на коммутаторе протокола BGP-4 представляет собой набор механизмов для поддержки бесклассовой междоменной маршрутизации (CIDR), соответствующих RFC 1518, RFC 1519. Данные механизмы включают в себя поддержку анонсирования набора пунктов назначения в виде IP-префикса и устраняют концепцию сетевого “класса” в BGP. BGP-4 также содержит механизмы, позволяющие агрегировать маршруты, включая агрегирование путей AS.

Для получения более подробной информации о протоколе BGP, см. документацию RFC 1771, RFC 4271.

Настройка

Настройка eBGP

Ниже приведена настройка коммутаторов в соответствии с представленной сетевой конфигурацией.

image

Рис. 5.19 Конфигурация сети

В случае отсутствия конкретных указаний, настройка выполняется на обоих коммутаторах.

Шаг 1: Вход в режим “Global config”

Switch# configure terminal

Шаг 2: Настройка портов

На коммутаторе “Switch1”:

Switch1(config)# interface eth-0-13
Switch1(config-if)# no shutdown 
Switch1(config-if)# no switchport
Switch1(config-if)# ip address 1.1.1.1/24
Switch1(config-if)# exit
Switch1(config)# interface eth-0-1
Switch1(config-if)# no shutdown 
Switch1(config-if)# no switchport
Switch1(config-if)# ip address 2.2.2.1/24
Switch1(config-if)# exit

На коммутаторе “Switch2”:

Switch2(config)# interface eth-0-13
Switch2(config-if)# no shutdown 
Switch2(config-if)# no switchport
Switch2(config-if)# ip address 1.1.1.2/24
Switch2(config-if)# exit

Шаг 3: Настройка статического маршрута

На коммутаторе “Switch1”:

Switch1(config)# ip route 3.3.3.0/24 2.2.2.2

Шаг 4: Настройка маршрутизации

Установка router-ID, соседних маршрутизаторов, ассоциация сетей, редистрибуция:

На коммутаторе “Switch1”:

Switch1(config)# router bgp 100
Switch1(config-router)# bgp router-id 10.10.10.10
Switch1(config-router)# neighbor 1.1.1.2 remote-as 200
Switch1(config-router)# neighbor 1.1.1.2 ebgp-multihop
Switch1(config-router)# network 4.0.0.0/8
Switch1(config-router)# redistribute static
Switch1(config-router)# redistribute connected
Switch1(config-router)# exit

На коммутаторе “Switch2”:

Switch2(config)# router bgp 200
Switch2(config-router)# bgp router-id 11.11.11.11
Switch2(config-router)# neighbor 1.1.1.1 remote-as 100
Switch2(config-router)# neighbor 1.1.1.1 ebgp-multihop
Switch2(config-router)# redistribute connected
Switch2(config-router)# exit

Шаг 5: Выход из режима “Global config”

Switch(config)# end

Шаг 6: Проверка

На коммутаторе “Switch1”:

Switch1# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
       O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       Dc - DHCP Client
       [*] - [AD/Metric]
       * - candidate default

C        1.1.1.0/24 is directly connected, eth-0-1
C        1.1.1.1/32 is in local loopback, eth-0-1
C        2.2.2.0/24 is directly connected, eth-0-48
C        2.2.2.1/32 is in local loopback, eth-0-48
C        10.10.10.10/32 is directly connected, loopback0
S        11.11.11.11/32 [1/0] via 1.1.1.2, eth-0-1

На коммутаторе “Switch2”:

Switch2# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
       O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       Dc - DHCP Client
       [*] - [AD/Metric]
       * - candidate default

C        1.1.1.0/24 is directly connected, eth-0-1
C        1.1.1.2/32 is in local loopback, eth-0-1
B        2.2.2.0/24 [200/0] via 10.10.10.10 (recursive via 1.1.1.1, eth-0-1), 00
:01:50
S        10.10.10.10/32 [1/0] via 1.1.1.1, eth-0-1
C        11.11.11.11/32 is directly connected, loopback0

На коммутаторе “Switch2”:

Switch2# show ip route bgp
B        2.2.2.0/24 [200/0] via 10.10.10.10 (recursive via 1.1.1.1, eth-0-1), 00:01:54

Настройка iBGP

Ниже показана настройка iBGP в соответствии с представленной конфигурацией сети.

image

Рис. 5.20 Конфигурация сети

В случае отсутствия конкретных указаний, настройка выполняется на обоих коммутаторах.

Шаг 1: Вход в режим “Global config”

Switch# configure terminal

Шаг 2: Настройка портов

На коммутаторе “Switch1”:

Switch1(config)# interface eth-0-1
Switch1(config-if)# no shutdown 
Switch1(config-if)# no switchport
Switch1(config-if)# ip address 2.2.2.1/24
Switch1(config-if)# exit
Switch1(config)# interface eth-0-13
Switch1(config-if)# no shutdown 
Switch1(config-if)# no switchport
Switch1(config-if)# ip address 1.1.1.1/24
Switch1(config-if)# exit
Switch1(config)#interface loopback 0
Switch1(config-if)# ip address 10.10.10.10/32
Switch1(config-if)# exit

На коммутаторе “Switch2”:

Switch2(config)# interface eth-0-13
Switch2(config-if)# no shutdown 
Switch(config-if)# no switchport
Switch2(config-if)# ip address 1.1.1.2/24
Switch2(config-if)# exit
Switch2(config)# interface loopback 0
Switch2(config-if)# ip address 11.11.11.11/32
Switch2(config-if)# exit

Шаг 3: Настройка статического маршрута

На коммутаторе “Switch1”:

Switch1(config)# ip route 11.11.11.11/32 1.1.1.2

На коммутаторе “Switch2”:

Switch2(config)# ip route 10.10.10.10/32 1.1.1.1

Шаг 4: Настройка маршрутизации

Установка router-ID соседних маршрутизаторов, ассоциация сетей, редистрибуция:

На коммутаторе “Switch1”:

Switch1(config)# router bgp 100
Switch1(config-router)# bgp router-id 10.10.10.10
Switch1(config-router)# neighbor 11.11.11.11 remote-as 100
Switch1(config-router)# neighbor 11.11.11.11 update-source loopback 0
Switch1(config-router)# network 4.0.0.0/8
Switch1(config-router)# redistribute static
Switch1(config-router)# redistribute connected
Switch1(config-router)# exit

На коммутаторе “Switch2”:

Switch2(config)# router bgp 100
Switch2(config-router)# bgp router-id 11.11.11.11
Switch2(config-router)# neighbor 10.10.10.10 remote-as 100
Switch2(config-router)# neighbor 10.10.10.10 update-source loopback 0
Switch2(config-router)# redistribute connected
Switch2(config-router)# exit

Шаг 5: Выход из режима “Global config”

Switch(config)# end

Шаг 6: Проверка

На коммутаторе “Switch1”:

Switch1# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
       O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       Dc - DHCP Client
       [*] - [AD/Metric]
       * - candidate default

C        1.1.1.0/24 is directly connected, eth-0-1
C        1.1.1.1/32 is in local loopback, eth-0-1
C        2.2.2.0/24 is directly connected, eth-0-48
C        2.2.2.1/32 is in local loopback, eth-0-48
S        3.3.3.0/24 [1/0] via 2.2.2.2, eth-0-48

На коммутаторе “Switch2”:

Switch2# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
       O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       Dc - DHCP Client
       [*] - [AD/Metric]
       * - candidate default

C        1.1.1.0/24 is directly connected, eth-0-1
C        1.1.1.2/32 is in local loopback, eth-0-1
B        2.2.2.0/24 [20/0] via 1.1.1.1, eth-0-1, 00:00:05
B        3.3.3.0/24 [20/0] via 1.1.1.1, eth-0-1, 00:00:05

На коммутаторе “Switch2”:

Switch# show ip route bgp
B        2.2.2.0/24 [20/0] via 1.1.1.1, eth-0-13, 00:01:56
B        3.3.3.0/24 [20/0] via 1.1.1.1, eth-0-13, 00:01:56

Настройка BGP-аутентификации

В коммутаторе реализована поддержка аутентификации BGP-сессий.

Для аутентификации на коммутаторе должен быть настроен пароль. Пароли на соседних коммутаторах, обменивающихся сообщениями BGP, должны совпадать. Коммутатор рассчитывает хэш MD5 на основе пароля и сообщения BGP и добавляет его к пакету. Соседний коммутатор приняв пакет, рассчитывает контрольную сумму и если хэш отправителя и получателя совпадают, сообщение BGP считается доверенным.

Команды аутентификации BGP см. в Справочнике по командам.

Ниже показана настройка аутентификации BGP в соответствии с представленной сетевой конфигурацией.

image

Рис. 5.21 Конфигурация сети

При отсутствии особых указаний, настройка выполняется на обоих коммутаторах.

Шаг 1: Настройка BGP

Настройка коммутаторов проводится в соответствии с “Настройка eBGP” или “Настройка iBGP”.

Шаг 2: Настройка аутентификации

На коммутаторе “Switch1”:

Switch1# configure terminal
Switch1(config)# router bgp 100
Switch1(config-router)# neighbor 1.1.1.2 password test123

На коммутаторе “Switch2”:

Switch2# configure terminal
Switch2(config)# router bgp 200
Switch2(config-router)# neighbor 1.1.1.1 password test123

Шаг 3: Выход из режима “Global config”

Switch(config)# end

Шаг 4: Проверка

Switch2# sh ip bgp neighbors
BGP neighbor is 1.1.1.1, remote AS 100, local AS 200, external link
  BGP version 4, remote router ID 10.10.10.10
  BGP state = Established, up for 00:00:51
  Last read 00:00:08, hold time is 180, keepalive interval is 60 seconds
  Neighbor capabilities:
    Route refresh: advertised and received (old and new)
    4-Octet ASN Capability: advertised and received
    Address family IPv4 Unicast: advertised and received
  Received 18 messages, 0 notifications, 0 in queue
  Sent 22 messages, 1 notifications, 0 in queue
  Route refresh request: received 0, sent 0
  Minimum time between advertisement runs is 30 seconds
 For address family: IPv4 Unicast
  BGP table version 17, neighbor version 17
  Index 1, Offset 0, Mask 0x2
  3 accepted prefixes
  1 announced prefixes

 Connections established 2; dropped 1
  External BGP neighbor may be up to 255 hops away.
Local host: 1.1.1.2, Local port: 179
Foreign host: 1.1.1.1, Foreign port: 59256
Nexthop: 1.1.1.2
Nexthop global: ::
Nexthop local: ::
BGP connection: non shared network
Last Reset: 00:04:07, due to BGP Notification sent
Notification Error Message: (Hold Timer Expired/Unspecified Error Subcode)