# 20. BGP в Cisco IOS

## Установление соседства EBGP

* Определить номера автономных системы (своей и соседа)
* Определить адрес назначения для пиринга

```
Router(config)#router bgp 64501
Router(config-router)#neighbor 192.0.2.2 remote-as 64502
```

* Если необходимо - определить адрес источника

```
Router(config)#router bgp 64501
Router(config-router)#neighbor 10.0.0.2 remote-as 64502
Router(config-router)#neighbor 10.0.0.2 update-source lo0
```

* Настроить EBGP Multihop или BGP TTL Security

```
Router(config-router)#neighbor 10.0.0.2 ebgp-multihop 2
Router(config-router)#neighbor 10.0.0.2 ttl-security hops 2
```

![](https://804939388-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LUAmDRmV-jNSoF58Ufl%2F-Lb7uPXQ8xD8yb6JAtEa%2F-Lb7vRipYc5ckEz0t_yO%2Fbgpiosbasic.PNG?alt=media\&token=d6210a3f-ac08-45a1-aa69-9fa60660a1e6)

## Проверка соседства EBGP

* Сводная таблица соседей: **show ip bgp summary**
* Детально состояние соседа: **show ip bgp neighbors <#>**



## Установление соседства IBGP

* Определить номер автономной системы обоих роутеров
* Определить локальный и удаленный адреса для пиринга
  * Как правило, используя лупбеки, адреса которых известны в IGP

```
Router(config)#router bgp 64501
Router(config-router)#neighbor 10.0.0.2 remote-as 64502
Router(config-router)#neighbor 10.0.0.2 update-source lo0
```

## Анонсы сетей

* Команда network определят анонсируемую сеть
  * Указывается прямая маска - это задание префикса, а не условия ACL
  * Префикс должен присутствовать в RIB

```
Router(config)#router bgp 64501
Router(config-router)#network 203.0.113.0 mask 255.255.255.0 
```

## Просмотр сетей BGP

* Полная таблица маршрутов: **show ip bgp**

```
Router#show ip bgp
```

## IBGP Next Hop

* для модификации атрибута Next Hop при отправке маршрутов IBGP-пирам можно использовать ключ **Next-hop-self**
  * Все отправляемые маршруты получат NH адрес, с которого ставится сессия

```
R3#show ip bgp | begin Next hop
    Network            Next Hop            Metric LocPrf Weight Path
* i 203.0.113.0/24     10.0.0.1                 0    100      0 64501 i
```

```
R2(config)#router bgp 64502
R2(config-router)#neighbor 192.168.1.2 next-hop-self
```

```
R3#show ip bgp | begin Next hop
    Network            Next Hop            Metric LocPrf Weight Path
* i 203.0.113.0/24     192.168.1.1              0    100      0 64501 i
```

![](https://804939388-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LUAmDRmV-jNSoF58Ufl%2F-Lb86nh_DG_xK2SMsOlQ%2F-Lb88WpwQftStRU5Dpik%2Fibgpnextphop.PNG?alt=media\&token=896e13a3-4a95-49f2-bd48-14fa40b91819)

## Сброс соседства в BGP

* Иногда необходимо пересогласовывать маршруты с соседом
  * Применить настройки, срабатывающие только при установке сессии
  * Переотправить\переполучить маршруты для быстрого применения политик
* Варианты:
  * **Hard Reset:** отправить Notification и зановно установить соседство
  * **Soft Reconfiguration out:** переотправить маршруты с новыми атрибутами
  * **Soft Reconfiguration in:** сохранять отдельно **все** полученные маршруты и при необходимости повторно применять к ним политики
  * **Route-Refresh:** отправить сообщение Route-Refresh и запросить переотправку

## BGP AF Mode

* Address Family - альтернативный синтаксис настройки BGP
  * Протокол тот же самый, разница только в конфигурации
  * Позволяет синхронизировать таблицы разных адресных семейств
    * Сообщения в любом случае передаются в единой TCP-сессии
    * Можно указать конкректному пиру, таблицы каких AFI/SAFI синхронизировать
  * Популярные AF Indicator и Subsequent AF Identifier:
    * AFI 1 SAFI 1: IPv4 unicast
    * AFI 2 SAFI 1: IPv6 unicast
    * AFI 1 SAFI 128: L3VPN IPv4 unicast
  * NLRI и атрибуты вроде Next Hop у разных AFI разный формат
* Конфигурируется с нуля или импортирует конфиг Classic Mode
  * Команды диагностики работают в обоих синтаксисах
  * Обращение к новому синтаксису автоматически обновляет конфигурацию

## Включение адресного семейства

* Адресные семейства необходимо активировать для пиров
  * IPv4 Unicast активируется по умолчанию для всех пиров
* Конфигурация с отдельными пирингами для IPv4 и IPv6:

```
R1(config)#router bgp 65000
R1(config-router)#neighbor 10.0.0.2 remote-as 64500
R1(config-router)#neighbor fd00::2 remote-as 64500
R1(config-router)#address-family ipv4 unicast
R1(config-router-af)#network 192.168.1.0 mask 255.255.255.0
R1(config-router-af)#no neighbor fd00:2 unicast
R1(config-router-af)#address-family ipv6 unicast
R1(config-router-af)#network 2001:db8:1::/48
R1(config-router-af)#neighbor fd00::2 activate
```

* Конфигурация с общим пирингом и модификацией IPv6 Next-Hop:

```
R1(config)#router bgp 65000
R1(config-router)#neighbor 10.0.0.2 remote-as 64500
R1(config-router)#address-family ipv4 unicast
R1(config-router-af)#network 192.168.1.0 mask 255.255.255.0
R1(config-router-af)#address-family ipv6 unicast
R1(config-router-af)#neighbor 10.0.0.2 activate
R1(config-router-af)#neighbor 10.0.0.2 route-map UPDATE_NH out    
R1(config-router-af)#network 2001:db8:1::/48
```

## Подмена Next Hop

* Роутер при смене Next Hop использует адрес источника BGP-сессии
  * Если с пиром согласованы и IPv4 и IPv6, это создает проблемы

```
R1(config)#router bgp 64500
R1(config-router)#address-family ipv6 unicast
R1(config-router-af)#neighbor 10.0.0.2 activate
R1(config-router-af)#network 2001:db8:1::/48
```

* Подмена Next Hop в исходящих Update

```
R1(config-router-af)#neighbor 10.0.0.2 route-map UPDATE_NH out
R1(config-router-af)#route-map UPDATE-NH
R1(config-router-af)#set ipv6 next-hop 2001:db8:1::1
```

## Диагностика BGP AF Mode

* show bgp ivp4 unicast
* show bgp ipv4 unicast summary
* show bgp ipv4 unicast neighbors
* show bgp ipv6 unicast
* show bgp ipv6 unicast summary
* show bgp ipv6 unicast neighbors

















