Cisco. RIP + DMVPN. Динамическая маршрутизация с использованием туннелей DMVPN
Описание
Предположим, что имеется Центральный офис, Филиал А.
Настроим динамическую маршрутизацию RIP через тоннели 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
Филиал Б:
Внутренняя сеть: 192.168.19.0/24
Адрес внутреннего интерфейса (направленного в локальную сеть): 192.168.19.8
Внешний интерфейс: 172.16.19.1/24 - FastEthernet 6/0
Шлюз провайдера: 172.16.19.8
IP-адрес интерфейса VPN-туннеля: 10.10.254.19/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
Настройка Филиала Б
interface Tunnel0
Внутренний IP-адрес VPN-клиента из нужного диапазона нашей будущей VPN
ip address 10.10.254.19 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.19
Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.16.254.9, 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
Тоннели подняты!
Настройка RIP
Настройка ЦО
Настроим loopback интерфейс
interface loopback 0
Настроим адрес на loopback интерфейсе
Автоматически будет использоваться этот адрес как router-id устройства
ip address 10.0.0.250 255.255.255.255
Запускаем rip
router rip
Отключаем автосуммирование маршрутов
no auto-summary
Определяем сеть, которая будет анонсироваться филиалу
В данном случае это подссеть впн-тоннелей и подсеть ЦО за маршрутизатором
network 10.10.254.0
network 192.168.250.0
timers basic <update invalid hold-down flush>
Update timer - частота отправки обновлений протокола, по истечению таймера отправляется обновление. По умолчанию равен 30 секундам.
Invalid timer - Если обновление о маршруте не будет получено до истечения данного таймера, маршрут будет помечен как Invalid, то есть с метрикой 16. По умолчанию таймер равен 180 секундам.
Holddown timer - Запуск таймера произойдет после того, как маршрут был помечен как не достижимый. До истечения данного таймера маршрут будет находиться в памяти для предотвращения образования маршрутной петли и по этому маршруту передается трафик. По умолчанию равен 180 секундам. Таймер не является стандартным, добавлен в реализации Cisco.
Flush timer (garbage collection timer) - По умолчанию таймер равен 240 секундам, на 60 больше чем invalid timer. Если данный таймер истечет до прихода обновлений о маршруте, маршрут будет исключен из таблицы маршрутизации. Если маршрут удален из таблицы маршрутизации то, соответственно, удаляются и остальные таймеры, которые ему соответствовали.
timers basic 5 10 10 10
Настройка Филиала А
Настроим loopback интерфейс
interface loopback 0
Настроим адрес на loopback интерфейсе
Автоматически будет использоваться этот адрес как router-id устройства
ip address 10.0.0.17 255.255.255.255
Запускаем rip
router rip
Включаем протокол rip версии 2
version 2
Отключаем автосуммирование маршрутов
no auto-summary
Определяем сеть, которая будет анонсироваться филиалу
В данном случае это подсеть впн-тоннелей и подсеть ЦО за маршрутизатором
network 10.10.254.0
network 192.168.17.0
timers basic <update invalid hold-down flush>
Update timer - частота отправки обновлений протокола, по истечению таймера отправляется обновление. По умолчанию равен 30 секундам.
Invalid timer - Если обновление о маршруте не будет получено до истечения данного таймера, маршрут будет помечен как Invalid, то есть с метрикой 16. По умолчанию таймер равен 180 секундам.
Holddown timer - Запуск таймера произойдет после того, как маршрут был помечен как не достижимый. До истечения данного таймера маршрут будет находиться в памяти для предотвращения образования маршрутной петли и по этому маршруту передается трафик. По умолчанию равен 180 секундам. Таймер не является стандартным, добавлен в реализации Cisco.
Flush timer (garbage collection timer) - По умолчанию таймер равен 240 секундам, на 60 больше чем invalid timer. Если данный таймер истечет до прихода обновлений о маршруте, маршрут будет исключен из таблицы маршрутизации. Если маршрут удален из таблицы маршрутизации то, соответственно, удаляются и остальные таймеры, которые ему соответствовали.
timers basic 5 10 10 10
Настройка Филиала Б
Настроим loopback интерфейс
interface loopback 0
Настроим адрес на loopback интерфейсе
Автоматически будет использоваться этот адрес как router-id устройства
ip address 10.0.0.19 255.255.255.255
Запускаем rip
router rip
Включаем протокол rip версии 2
version 2
Отключаем автосуммирование маршрутов
no auto-summary
Определяем сеть, которая будет анонсироваться филиалу
В данном случае это подсеть впн-тоннелей и подсеть ЦО за маршрутизатором
network 10.10.254.0
network 192.168.19.0
timers basic <update invalid hold-down flush>
Update timer - частота отправки обновлений протокола, по истечению таймера отправляется обновление. По умолчанию равен 30 секундам.
Invalid timer - Если обновление о маршруте не будет получено до истечения данного таймера, маршрут будет помечен как Invalid, то есть с метрикой 16. По умолчанию таймер равен 180 секундам.
Holddown timer - Запуск таймера произойдет после того, как маршрут был помечен как не достижимый. До истечения данного таймера маршрут будет находиться в памяти для предотвращения образования маршрутной петли и по этому маршруту передается трафик. По умолчанию равен 180 секундам. Таймер не является стандартным, добавлен в реализации Cisco.
Flush timer (garbage collection timer) - По умолчанию таймер равен 240 секундам, на 60 больше чем invalid timer. Если данный таймер истечет до прихода обновлений о маршруте, маршрут будет исключен из таблицы маршрутизации. Если маршрут удален из таблицы маршрутизации то, соответственно, удаляются и остальные таймеры, которые ему соответствовали.
timers basic 5 10 10 10
Проверка
Пинги из маршрутизатора Филиала А до подсети за маршрутизатором Филиала Б
tmb# ping 192.168.19.8
Должны быть маршруты с маркером R до подсетей 192.168.250.0 и 192.168.19.0
sh ip route
БД rip
sh ip rip database