Базовая настройка BGP на оборудовании Huawei

Опубликовано 2019-4-8 14:36:35 986 0 2 0

Протокол граничного шлюза - Border Gateway Protocol (BGP). Это основной протокол динамической маршрутизации в сети Интернет. Относится к классу протоколов маршрутизации внешнего шлюза (External Gateway ProtocolEGP). BGP поддерживает бесклассовую адресацию и спользует суммирование маршрутов для уменьшения таблиц маршрутизации. На текущий момент используется четвертая версия протокола.

BGP функционирует поверх транспортного уровня TCP (порт 179). Протокол предназначен для обмена информацией о достижимости подсетей между автономными системами (AS - autonomous system), то есть группами маршрутизаторов под единым техническим и административным управлением, использующими протокол внутридоменной маршрутизации для определения маршрутов внутри себя и протокол междоменной маршрутизации для определения маршрутов доставки пакетов в другие АС. Передаваемая информация включает в себя список АС, к которым имеется доступ через данную систему. Выбор наилучших маршрутов осуществляется исходя из правил, принятых в сети.

Рассмотрим как выглядит базовая конфигурация BGP на устройствах Huawei:

Предположим, что у нас есть три автономные системы:

·    AS50 включает только один BGP маршрутизатор (R1), который устанавливает одну EBGP сессию с AS500.

·    AS500 включает три маршрутизатора (R2, R3, R4), которые образуют IBGP full mesh топологию.

·    AS5000 включает один маршрутизатор R5, который устанавливает две сессии с AS500.

R1, принадлежащий AS50, будет объявлять три сети в AS5000. R5 должен получить все три сети и иметь доступ к ним (пинговать).

1

Приступим к настройке BGP. Во-первых настроим R1, должен быть запущен процесс AS50 и устанавливалась сессия с R2 в AS500:

[R1] interface Ethernet 0/0/0
[R1-Ethernet0/0/0] ip address 5.228.12.1 24
[R1] bgp 50
[R1-bgp] undo synchronization
[R1-bgp] undo summary automatic
[R1-bgp] peer 5.228.12.2 as-number 500

Далее перейдем к настройке AS500 на маршрутизаторе R2:

[R2] interface Ethernet 0/0/0
[R2-Ethernet0/0/0] ip address 5.228.12.2 24
[R2] interface GigabitEthernet0/0/0
[R2-GigabitEthernet0/0/0] ip address 192.168.23.2 24
[R2] interface Ethernet 0/0/1
[R2-Ethernet0/0/1] ip address 192.168.24.2 24
[R2] bgp 500
[R2-bgp] undo synchronization
[R2-bgp] undo summary automatic
[R2-bgp] peer 5.228.12.1 as-number 50

Проверим нашу EBGP сессию между AS50 и AS500:

[R1-bgp] display bgp peer

BGP local router ID : 5.228.12.1
Local AS number : 50
Total number of peers : 1                   Peers in established state : 1

Peer              V     AS      MsgRcvd    MsgSent    OutQ   Up/Down     State            PrefRcv

5.228.12.2    4     500            4                5             0         00:02:24      Established   0

EBGP сессия между AS50 и AS500 установлена (Established), теперь можем приступить к настройке IBGP сессий в AS500. Для этого будем использовать peer группу с именем iBGP. Мы можем настроить каждое соседство по отдельности и назначить каждому свои BGP параметры, но в данном примере, для упрощения и сокращения конфигурации, мы настроим peer group (группа соседей), где все параметры будут назначены группе.

[R2] bgp 500
[R2-bgp] group iBGP internal
[R2-bgp] peer iBGP next-hop-local
[R2-bgp] peer 192.168.23.3 group iBGP
[R2-bgp] peer 192.168.24.4 group iBGP

Мы создали iBGP peer группу и присвоили ей тип internal. При использовании internal группы, не обязательно присваивать группе номер AS. Каждый пир, принадлежащий данной группе, получит номер локальнойAS. Давайте проверим BGP конфигурацию на маршрутизаторе R2:

bgp 500
  peer 5.228.12.1 as-number 50
  group iBGP internal
  peer 192.168.23.3 as-number 500
  peer 192.168.23.3 group iBGP
  peer 192.168.24.4 as-number 500
  peer 192.168.24.4 group iBGP
#
ipv4-family unicast
  undo synchronization
  peer 5.228.12.1 enable
  peer iBGP enable
  peer iBGP next-hop-local
  peer 192.168.23.3 enable
  peer 192.168.23.3 group iBGP
  peer 192.168.24.4 enable
  peer 192.168.24.4 group iBGP

Все параметры группы iBGP будут назначены маршрутизаторам соседям.

Далее настроим маршрутизаторыR3 и R4. Также сразу пропишем настройки для установления соседства с R5:

[R3] interface GigabitEthernet 0/0/0
[R3-GigabitEthernet0/0/0] ip address 192.168.23.3 24
[R3] interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1] ip address 192.168.34.3 24
[R3] interface Serial 0/0/0
[R3-Serial0/0/0] ip address 5.228.35.3 24
[R3] bgp 500
[R3-bgp] undo synchronization
[R3-bgp] undo summary automatic
[R3-bgp] group iBGP internal
[R3-bgp] peer iBGP next-hop-local
[R3-bgp] peer 192.168.23.2 group iBGP
[R3-bgp] peer 192.168.34.4 group iBGP
[R3-bgp] peer 5.228.35.5 as-number 5000

[R4] interface Ethernet 0/0/1
[R4-Ethernet0/0/1] ip address 192.168.24.4 24
[R4] interface GigabitEthernet 0/0/1
[R4-GigabitEthernet0/0/1] ip address 192.168.34.4 24
[R4] interface Ethernet 0/0/0
[R4- Ethernet 0/0/0] ip address 5.228.45.4 24
[R4] bgp 500
[R4-bgp] undo synchronization
[R4-bgp] undo summary automatic
[R4-bgp] group iBGP internal
[R4-bgp] peer iBGP next-hop-local
[R4-bgp] peer 192.168.24.2 group iBGP
[R4-bgp] peer 192.168.34.3 group iBGP
[R4-bgp] peer 5.228.45.5 as-number 5000

Проверим конфигурациюBGP на маршрутизаторах R3 и R4:

[R3-bgp] display this
#
bgp 500
  peer 5.228.35.5 as-number 5000
  group iBGP internal
  peer 192.168.23.2 as-number 500
  peer 192.168.23.2 group iBGP
  peer 192.168.34.4 as-number 500
  peer 192.168.34.4 group iBGP

ipv4-family unicast
  undo synchronization
  peer 5.228.35.5 enable
  peer iBGP enable
  peer iBGP next-hop-local
  peer 192.168.23.2 enable
  peer 192.168.23.2 group iBGP
  peer 192.168.34.4 enable
  peer 192.168.34.4 group iBGP

[R3-bgp] display bgp peer

BGP local router ID : 192.168.23.3
Local AS number : 500
Total number of peers : 3                  Peers in established state : 3

Peer                 V    AS      MsgRcvd   MsgSent   OutQ    Up/Down     State             PrefRcv

5.228.35.5       4    5000       0                  0             0         00:09:49       Idle                  0
192.168.23.2   4    500         4                  5             0         00:02:13       Established     0
192.168.34.4   4    500         6                  6             0         00:04:42       Established     0
[R4-bgp] display this
#
bgp 500
  peer 5.228.45.5 as-number 5000
  group iBGP internal
  peer 192.168.24.2 as-number 500
  peer 192.168.24.2 group iBGP
  peer 192.168.34.3 as-number 500
  peer 192.168.34.3 group iBGP

ipv4-family unicast
  undo synchronization
  peer 5.228.45.5 enable
  peer iBGP enable
  peer iBGP next-hop-local
  peer 192.168.24.2 enable
  peer 192.168.24.2 group iBGP
  peer 192.168.34.3 enable
  peer 192.168.34.3 group iBGP

[R4-bgp] display bgp peer

BGP local router ID : 192.168.24.4
Local AS number : 500
Total number of peers : 3                        Peers in established state : 3

Peer                   V      AS      MsgRcvd    MsgSent    OutQ    Up/Down   State            PrefRcv

5.228.45.5         4      5000        0                  0               0         00:07:14    Idle                 0
192.168.24.2     4      500          6                  6               0         00:04:02    Established    0
192.168.34.3     4      500          8                  8               0         00:06:42    Established    0

Всенастроеноверно.Теперь приступим к настройке R5:

[R5] interface Ethernet 0/0/0
[R5-Ethernet0/0/0] ip address 5.228.45.5 24
[R5] interface Serial 0/0/0
[R5-Serial0/0/0] ip address 5.228.35.5 24
[R5] bgp 5000
[R5-bgp] undo synchronization
[R5-bgp] undo summary automatic
[R5-bgp] peer 5.228.35.3 as-number 500
[R5-bgp] peer 5.228.45.4 as-number 500

[R5-bgp] display bgp peer

BGP local router ID : 5.228.35.5
Local AS number : 5000
Total number of peers : 2                Peers in established state : 2

Peer              V    AS    MsgRcvd    MsgSent     OutQ    Up/Down     State             PrefRcv

5.228.35.3    4    500           2               2                0        00:02:20      Established      0
5.228.45.4    4    500           2               2                0        00:02:10      Established      0

R5 установил соседство с R3 и R4. На этом настройка BGP окончена.

Следующим шагом мы хотим чтобы AS50 начала объявлять нужные нам маршруты. Эти маршруты должна получить AS5000. Воспользуемся loopback интерфейсами для симуляции сетей, подключенных к R1. Присваиваем интерфейсам IP адреса и далее добавляем сети в наш bgp процесс:

[R1] interface LoopBack0
[R1-LoopBack0] ip address 10.0.0.1 24
[R1-LoopBack0] interface LoopBack1
[R1-LoopBack1] ip address 11.0.0.1 24
[R1-LoopBack1] interface LoopBack2
[R1-LoopBack2] ip address 12.0.0.1 24

[R1] bgp 50
[R1-bgp] network 10.0.0.0 24
[R1-bgp] network 11.0.0.0 24
[R1-bgp] network 12.0.0.0 24

Проверим объвляет ли R1 наши сети:

[R1] display bgp routing-table

BGP Local router ID is 5.228.12.1
Status codes: * - valid, > - best, d - damped,
                            h - history, i - internal, s - suppressed, S - Stale
                            Origin : i - IGP, e - EGP, ? - incomplete

Total Number of Routes: 3
            Network            NextHop     MED     LocPrf     PrefVal    Path/Ogn

*>     10.0.0.0/24            0.0.0.0          0                              0              i
*>     11.0.0.0/24            0.0.0.0          0                              0              i
*>     12.0.0.0/24            0.0.0.0          0                              0              i

Как видим, конфигурация в порядке. Эти сети должны проходить AS500 до AS5000. Давайте проверим bgp таблицу на R5:

[R5] display bgp routing-table

BGP Local router ID is 5.228.35.5
Status codes: * - valid, > - best, d - damped,
                            h - history, i - internal, s - suppressed, S - Stale
                            Origin : i - IGP, e - EGP, ? - incomplete

Total Number of Routes: 6
            Network           NextHop   MED   LocPrf   PrefVal   Path/Ogn

*>       10.0.0.0/24        5.228.35.3                            0           500 50i
*                                   5.228.45.4                            0           500 50i
*>        11.0.0.0/24       5.228.35.3                            0           500 50i
*                                   5.228.45.4                            0            500 50i
*>        12.0.0.0/24       5.228.35.3                            0            500 50i
*                                    5.228.45.4                            0           500 50i

Как видим, все три сети присутствуют в bgp таблице маршрутизатора R5. Лучшим путь в эти сети проходит через маршрутизатор R3. R5 получил маршруты, но сможем ли мы получить доступ в какую-либо из этих сетей? Давайте проверим:

[R5] ping 10.0.0.1
PING 10.0.0.1: 56 data bytes, press CTRL_C to break
Request time out
Request time out
Request time out
Request time out
Request time out

--- 10.0.0.1 ping statistics ---
5 packet(s) transmitted
0 packet(s) received
100.00% packet loss

Пингнепроходит.Давайте разбираться что не так. BGP таблица в порядке, проверим таблицу маршрутизации на R5:

[R5] display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
                  Destinations : 10              Routes : 10

Destination/Mask   Proto    Pre   Cost   Flags   NextHop      Interface

      5.228.35.0/24   Direct   0       0         D        5.228.35.5   Serial0/0/0
      5.228.35.3/32   Direct   0       0         D        5.228.35.3   Serial0/0/0
      5.228.35.5/32   Direct   0       0         D        127.0.0.1     Serial0/0/0
      5.228.45.0/24   Direct   0       0         D        5.228.45.5    Ethernet0/0/0
      5.228.45.5/32   Direct   0       0         D        127.0.0.1     Ethernet0/0/0
          10.0.0.0/24   EBGP   255   0         D        5.228.35.3   Serial0/0/0
          11.0.0.0/24   EBGP   255   0         D        5.228.35.3   Serial0/0/0
          12.0.0.0/24   EBGP   255   0         D        5.228.35.3   Serial0/0/0
          127.0.0.0/8   Direct   0       0         D        127.0.0.1     InLoopBack0
        127.0.0.1/32   Direct   0       0         D        127.0.0.1     InLoopBack0

Как видим все три маршрута присутствуют в таблице маршрутизации R5. Значит BGP настроен правильно. Так в чем же дело? Для выявления проблемы нам поможет протокол ICMP с icmp debugging. Настроим debug icmp на R1 и проверим source IP адрес icmp пакета отсылаемого маршрутизатором R5:

<R1> debugging ip icmp
<R1> terminal monitor
<R1> terminal debugging

Теперь снова запустим пинг на маршрутизаторе R5:

[R5] ping 10.0.0.1
PING 10.0.0.1: 56 data bytes, press CTRL_C to break
Request time out
Request time out

Проверимdebug выводнаR1:

<R1>
Apr 8 2019 10:09:00.10.1-08:00 R1 IP/7/debug_icmp:
ICMP Receive: echo(Type=8, Code=0), Src = 5.228.35.5, Dst = 10.0.0.1, ICMP Id = 0xabce, ICMP Seq = 1

Apr 8 2019 10:09:00.10.2-08:00 R1 IP/7/debug_icmp:
ICMP Send: echo-reply(Type=0, Code=0), Src = 10.0.0.1, Dst = 5.228.35.5, ICMP Id= 0xabce, ICMP Seq = 1

Как видим, R1 получает icmp echo пакеты и отправляет echo-reply в ответ на адрес 5.228.35.5. Давайте проверим, есть ли сеть 5.228.35.0/24 в таблице маршрутизации R1:

[R1] display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
                  Destinations : 10                Routes : 10

Destination/Mask
   Proto    Pre   Cost   Flags   NextHop      Interface

       5.228.12.0/24   Direct   0       0        D        5.228.12.1   Ethernet0/0/0
       5.228.12.1/32   Direct   0       0        D        127.0.0.1     Ethernet0/0/0
           10.0.0.0/24   Direct   0       0        D        10.0.0.1       LoopBack0
           10.0.0.1/32   Direct   0       0        D        127.0.0.1     LoopBack0
           11.0.0.0/24   Direct   0       0        D        11.0.0.1       LoopBack1
           11.0.0.1/32   Direct   0       0        D        127.0.0.1     LoopBack1
           12.0.0.0/24   Direct   0       0        D        12.0.0.1       LoopBack2
           12.0.0.1/32   Direct   0       0        D        127.0.0.1     LoopBack2
           127.0.0.0/8   Direct   0       0        D        127.0.0.1     InLoopBack0
         127.0.0.1/32   Direct   0       0        D        127.0.0.1     InLoopBack0

R1 не знает пути до сети 5.228.35.0/24. Решить эту проблему можно двумя способами. Самый простой – объявить сеть 5.228.35.0/24 в bgp протоколе. Второй способ – настроить дополнительныйIGP протокол между нашими маршрутизатрами и объявить все необходимые сети. Мы воспользуемся первым способом:

[R5] bgp 5000
[R5-bgp] network 5.228.35.0 24

Теперь еще раз попробуем пропинговать BGP сеть:

[R5-bgp] ping 10.0.0.1
PING 10.0.0.1: 56 data bytes, press CTRL_C to break
Reply from 10.0.0.1: bytes=56 Sequence=1 ttl=253 time=190 ms
Reply from 10.0.0.1: bytes=56 Sequence=2 ttl=253 time=160 ms
Reply from 10.0.0.1: bytes=56 Sequence=3 ttl=253 time=120 ms
Reply from 10.0.0.1: bytes=56 Sequence=4 ttl=253 time=110 ms
Reply from 10.0.0.1: bytes=56 Sequence=5 ttl=253 time=150 ms

--- 10.0.0.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 110/146/190 ms

Как видим R5 успешно пингует BGP сети, объявляемые маршрутизатором R1. Задача выполнена.

У статьи есть другие ресурсы

Требуется войти для загрузки или просмотра. Нет аккаунта?Register

x
  • x

Ответ

Отправить
Выполните вход в систему, чтобы ответить на пост. Вход | Регистрация

Внимание! В целях защиты правовых интересов Вас, сообщества и третьих лиц, не публикуйте любой материал, содержащий политические высказывания, порнографию, упоминание азартных игр, употребление наркотиков, а также материал, нарушающий коммерческую тайну или содержащий персональные данные пользователей. Также не предоставляйте данные от вашей учетной записи. Вы будете нести ответственность за все действия, выполняемые под вашим аккаунтом. Подробная информация: “Политика конфиденциальности..”
Если кнопка вложения недоступна, обновите Adobe Flash Player до последней версии.
Быстрый ответ Вверх