Cisco. DMVPN + BGP: различия между версиями

Материал из Wiki
Перейти к навигации Перейти к поиску
(Новая страница: «Категория:Cisco __ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__»)
 
Строка 1: Строка 1:
[[Категория:Cisco]]
[[Категория:Cisco]]
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__
== Входные данные ==
Предположим, что имеется Центральный офис, Филиал А.
Настроим динамическую маршрутизацию 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
== Настройка тоннелей ==
=== Настройка ЦО ===
<code>interface Tunnel0</code>
Внутренний IP-адрес VPN-сервера из нужного диапазона нашей будущей VPN
<code>ip address 10.10.254.1 255.255.255.0</code>
Динамическое изучение данных NHRP от клиентов. Поскольку клиентов у нас множество и они могут быть с динамическими адресами, на хабе нельзя задать явное соответствие внутренних и внешних адресов.
<code>ip nhrp map multicast dynamic</code>
Определяем Network ID – просто идентификатор, который необязательно должен быть одинаковым на всех узлах DMVPN
<code>ip nhrp network-id 1</code>
Привязка к физическому внешнему интерфейсу
<code>tunnel source FastEthernet 6/0</code>
Туннель на центральном узле будет терминировать все туннели от удалённых точек.
То есть он будет точка-многоточка (Point-to-MultiPoint)
<code>tunnel mode gre multipoint</code>
По умолчанию включен split horizon. Необходимо его отключить на хабе, чтобы роутеры (spoke) могли общаться напрямую между собой и видеть подсети за соседними маршрутизаторами
<code>no ip split-horizon</code>
Без этих настроек после перезагрузки хаба тоннели в филиалах поднимутся, но будут недоступны для пингов
<code>ip nhrp registration timeout 30</code>
<code>ip nhrp holdtime 300</code>
<code>ip nhrp nhs 10.10.254.1</code>
=== Настройка Филиала А ===
<code>interface Tunnel0</code>
Внутренний IP-адрес VPN-клиента из нужного диапазона нашей будущей VPN
<code>ip address 10.10.254.17 255.255.255.0</code>
Статическое соотношение внутреннего и внешнего адресов центрального хаба (ЦО)
<code>ip nhrp map 10.10.254.1 172.16.250.1</code>
Мультикастовый трафик должен получать хаб по внешнему IP-адресу ЦО
<code>ip nhrp map multicast 172.16.250.1</code>
Network ID. Не обязательно должен совпадать с таким же на хабе
<code>ip nhrp network-id 1</code>
Статически настроенный внутренний VPN адрес NHRP сервера – хаба
Именно поэтому в центре нам нужен статический публичный адрес
Клиенты отправляют запрос на регистрацию на хаб 10.10.254.1, этот запрос содержит настроенный локальный адрес туннельного интерфейса, а также свой публичный адрес
<code>ip nhrp nhs 10.10.254.1</code>
Если адрес в филиалах выдаётся динамически, эта команда обязательна
<code>ip nhrp registration no-unique</code>
Привязка к физическому внешнему интерфейсу
<code>tunnel source FastEthernet 6/0</code>
Указываем, что тип туннеля mGRE – это позволит создавать динамически туннели не только до хаба, но и до других филиалов
<code>tunnel mode gre multipoint</code>
Без этих настроек после перезагрузки хаба тоннели в филиалах поднимутся, но будут недоступны для пингов
<code>ip nhrp registration timeout 30</code>
<code>ip nhrp holdtime 300</code>
=== Проверка ===
<code>tmb# ping 10.10.254.1</code>
     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
<code>sh int tun 0</code>
<code>sh ip nhrp brief</code>
Тоннели подняты!
== Настройка BGP ==
=== Настройка ЦО ===
Настроим loopback интерфейс
<code>interface loopback 0</code>
Настроим адрес на loopback интерфейсе
BGP автоматически будет использовать этот адрес как router-id устройства
<code>ip address 10.0.0.250 255.255.255.255</code>
Запускаем bgp процесс и указываем номер AS на этом маршрутизаторе в ЦО
<code>router bgp 64750</code>
Командой neighbor мы указываем, с кем устанавливать сессию.
Именно на адрес 10.10.254.17 (vpn-адрес филиала) маршрутизатор будет отсылать сначала TCP-SYN, а потом OPEN.
Также мы обязаны указать номер удалённой Автономной Системы филиала
<code>neighbor 10.10.254.17 remote-as 64517</code>
Определяем сеть, которая будет анонсироваться филиалу
В данном случае это подсеть ЦО за маршрутизатором
<code>network 192.168.250.0 mask 255.255.255.0</code>
=== Настройка Филиала ===
Настроим loopback интерфейс
<code>interface loopback 0</code>
Настроим адрес на loopback интерфейсе
BGP автоматически будет использовать этот адрес как router-id устройства
<code>ip address 10.0.0.17 255.255.255.255</code>
Запускаем bgp процесс и указываем номер AS на этом маршрутизаторе в филиале
<code>router bgp 64517</code>
Командой neighbor мы указываем, с кем устанавливать сессию.
Именно на адрес 10.10.254.1 (vpn-адрес ЦО) маршрутизатор будет отсылать сначала TCP-SYN, а потом OPEN.
Также мы обязаны указать номер удалённой Автономной Системы ЦО
<code>neighbor 10.10.254.1 remote-as 64750</code>
Определяем сеть, которая будет анонсироваться филиалу
В данном случае это подсеть филиала за маршрутизатором
<code>network 192.168.17.0 mask 255.255.255.0</code>
=== Проверка ===
<code>sh ip bgp neighbors</code>
<code>sh ip bgp</code>

Версия 11:56, 17 апреля 2022


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

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

Настроим динамическую маршрутизацию 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