Cisco. DMVPN + BGP

Материал из Wiki
Перейти к навигации Перейти к поиску


Входные данные

Предположим, что имеется Центральный офис, Филиал А.

Настроим динамическую маршрутизацию BGP через тоннели DMVPN.

ХАБ DMVPN будем поднимать в ЦО.

ЦО

Внутренняя сеть: 192.168.250.0/24

Адрес внутреннего интерфейса (направленного в локальную сеть): 192.168.250.8

Внешний интерфейс: 172.16.250.1/24 - FastEthernet 6/0

Шлюз провайдера: 172.16.250.8

IP-адрес интерфейса VPN-туннеля: 10.10.254.1/24

Филиал А

Внутренняя сеть: 192.168.17.0/24

Адрес внутреннего интерфейса (направленного в локальную сеть): 192.168.17.8

Внешний интерфейс: 172.16.17.1/24 - FastEthernet 6/0

Шлюз провайдера: 172.16.17.8

IP-адрес интерфейса VPN-туннеля: 10.10.254.17/24

Настройка тоннелей

Настройка ЦО

interface Tunnel0

Внутренний IP-адрес VPN-сервера из нужного диапазона нашей будущей VPN

ip address 10.10.254.1 255.255.255.0

Динамическое изучение данных NHRP от клиентов. Поскольку клиентов у нас множество и они могут быть с динамическими адресами, на хабе нельзя задать явное соответствие внутренних и внешних адресов.

ip nhrp map multicast dynamic

Определяем Network ID – просто идентификатор, который необязательно должен быть одинаковым на всех узлах DMVPN

ip nhrp network-id 1

Привязка к физическому внешнему интерфейсу

tunnel source FastEthernet 6/0

Туннель на центральном узле будет терминировать все туннели от удалённых точек.

То есть он будет точка-многоточка (Point-to-MultiPoint)

tunnel mode gre multipoint

По умолчанию включен split horizon. Необходимо его отключить на хабе, чтобы роутеры (spoke) могли общаться напрямую между собой и видеть подсети за соседними маршрутизаторами

no ip split-horizon

Без этих настроек после перезагрузки хаба тоннели в филиалах поднимутся, но будут недоступны для пингов

ip nhrp registration timeout 30

ip nhrp holdtime 300

ip nhrp nhs 10.10.254.1

Настройка Филиала А

interface Tunnel0

Внутренний IP-адрес VPN-клиента из нужного диапазона нашей будущей VPN

ip address 10.10.254.17 255.255.255.0

Статическое соотношение внутреннего и внешнего адресов центрального хаба (ЦО)

ip nhrp map 10.10.254.1 172.16.250.1

Мультикастовый трафик должен получать хаб по внешнему IP-адресу ЦО

ip nhrp map multicast 172.16.250.1

Network ID. Не обязательно должен совпадать с таким же на хабе

ip nhrp network-id 1

Статически настроенный внутренний VPN адрес NHRP сервера – хаба

Именно поэтому в центре нам нужен статический публичный адрес

Клиенты отправляют запрос на регистрацию на хаб 10.10.254.1, этот запрос содержит настроенный локальный адрес туннельного интерфейса, а также свой публичный адрес

ip nhrp nhs 10.10.254.1

Если адрес в филиалах выдаётся динамически, эта команда обязательна

ip nhrp registration no-unique

Привязка к физическому внешнему интерфейсу

tunnel source FastEthernet 6/0

Указываем, что тип туннеля mGRE – это позволит создавать динамически туннели не только до хаба, но и до других филиалов

tunnel mode gre multipoint

Без этих настроек после перезагрузки хаба тоннели в филиалах поднимутся, но будут недоступны для пингов

ip nhrp registration timeout 30

ip nhrp holdtime 300

Проверка

tmb# ping 10.10.254.1

    Type escape sequence to abort.
    Sending 5, 100-byte ICMP Echos to 172.16.254.1, timeout is 2 seconds:
    !!!!!
    Success rate is 100 percent (5/5), round-trip min/avg/max = 176/213/284 ms

sh int tun 0

sh ip nhrp brief

Тоннели подняты!

Настройка BGP

Настройка ЦО

Настроим loopback интерфейс

interface loopback 0

Настроим адрес на loopback интерфейсе

BGP автоматически будет использовать этот адрес как router-id устройства

ip address 10.0.0.250 255.255.255.255

Запускаем bgp процесс и указываем номер AS на этом маршрутизаторе в ЦО

router bgp 64750

Командой neighbor мы указываем, с кем устанавливать сессию.

Именно на адрес 10.10.254.17 (vpn-адрес филиала) маршрутизатор будет отсылать сначала TCP-SYN, а потом OPEN.

Также мы обязаны указать номер удалённой Автономной Системы филиала

neighbor 10.10.254.17 remote-as 64517

Определяем сеть, которая будет анонсироваться филиалу

В данном случае это подсеть ЦО за маршрутизатором

network 192.168.250.0 mask 255.255.255.0

Настройка Филиала

Настроим loopback интерфейс

interface loopback 0

Настроим адрес на loopback интерфейсе

BGP автоматически будет использовать этот адрес как router-id устройства

ip address 10.0.0.17 255.255.255.255

Запускаем bgp процесс и указываем номер AS на этом маршрутизаторе в филиале

router bgp 64517

Командой neighbor мы указываем, с кем устанавливать сессию.

Именно на адрес 10.10.254.1 (vpn-адрес ЦО) маршрутизатор будет отсылать сначала TCP-SYN, а потом OPEN.

Также мы обязаны указать номер удалённой Автономной Системы ЦО

neighbor 10.10.254.1 remote-as 64750

Определяем сеть, которая будет анонсироваться филиалу

В данном случае это подсеть филиала за маршрутизатором

network 192.168.17.0 mask 255.255.255.0

Проверка

sh ip bgp neighbors

sh ip bgp