Kinzersky.ru

DMVPN (часть 1)

Просмотров: 4099Комментарии: 0

Введение

DMVPN - Dynamic Multipoint VPN - под данным названием объединяется пачка технологий, позволяющая организовать защищенную корпоративную сеть с помощью оборудования Cisco.

Основными преимуществами построения туннелей на основе DMVPN, на мой взгляд, являются 4 фактора:

1. Возможность создать туннель через NAT.

2. Минимальные (шаблонные) настройки на spoke-маршрутизаторах.

3. Создание динамических туннелей между spoke-маршрутизаторами.

4. Возможность держать на spoke-маршрутизаторах динамический внешний IP-адрес.


DMVPN состоит из следующий частей:

1. NHRP - Next Hop Resolution Protocol - протокол, позволяющий хостам, находящимся в NBMA-сети (Non Broadcast Multi Access - например, Интернет!), общаться напрямую между собой. База адресов находится на Hub-маршрутизаторе, который является Next Hop Server'ом, и клиенты (Spoke-маршрутизаторы) при необходимости её запрашивают.

2. Multipoint GRE - GRE-туннели, позволяющие на одном туннельном интерфейсе содержать несколько ipsec-подключений к различным маршрутизаторам.

3. IPSec

4. Протокол динамической маршрутизации. Обычно это OSPF или EIGRP, в зависимости от устройства сети. Например, если кроме оборудования Cisco есть еще и другие маршрутизаторы, имеет смысл пользоваться OSPF, чтобы не извращаться с редистрибьюцией маршрутов.

С другой стороны, в 4 различных технологиях сложнее локализовать проблему и решить её, чем в туннелях точка-точка. Но, несмотря на это, в свое время данная технология меня очень сильно выручила. На тот момент пришлось вычистить настройки точка-точка всего-лишь с 5 роутеров, доставшихся мне "по наследству", да и весь трафик ходил через центральный. Теперь же настройка нового оборудования для использования в корпоративной сети занимает время, сравнимое с вытаскиванием роутера из коробкиsmile

Также из минусов хотелось бы отметить неприятное поведение при наличии двух интернет каналов в филиале, когда в центральном офисе канал всего один. Тут придется мудрить с eem и трэкингом, при изменении канала меняя tunnel source на интерфейсе. Подробнее напишу в следующих статьях.

Пример настроек для трех маршрутизаторов

Рассмотрим следующую сложнейшую топологию:

dmvpn1.jpg

Соотв-но, имена роутеров будут: Hub1, Spoke1, Spoke2. В следующих статьях усложним, добавив бэкапный hub2.

Адресация:

Внешние IP: 10.0.0.1/24 (hub1), 10.2.0.1/24(spoke1), 10.3.0.1/24 (spoke2) (int fa1) (10.1 оставим в резерве)

Внутренние IP: 192.168.0.0/24 (int fa2)

Туннели: 172.16.0.0/24 (int tu0)

А в серединке будет роутер с 3 интерфейсами, смотрящий во все эти сети. Вместо интернета. (0.2 на конце)

Базовые настройки сети

1. Маршрутизация.

Т.к. у нас не Интернет, настроим статические маршруты между роутерами.

Пример на Hub1. На остальных аналогично.

Hub1(Config)# ip route 10.2.0.0 255.255.255.0 10.0.0.2
Hub1(Config)# ip route 10.3.0.0 255.255.255.0 10.0.0.2

Настройки маршрутизаторов

Данные настройки - общие для всех трех роутеров.

Создаем туннель:

Hub1(config)#interface Tunnel0

IP-адрес

Hub1(config-if)#ip address 172.16.0.1 255.255.255.0

Указываем источник туннеля

Hub1(config-if)#tunnel source FastEthernet1/0

Говорим нашему роутеру, что это не point-to-point GRE, a mGRE.

Hub1(config-if)#tunnel mode gre multipoint

Указываем ключик. Должен быть одинаковым в пределах одной DMVPN-сети.

Hub1(config-if)#tunnel key 123

Снижаем MTU на интерфейсе, т.к. GRE увеличивает длину заголовка

Hub1(config-if)#ip mtu 1416
Hub1(config-if)#ip tcp adjust-mss 1416

Настройка NHRP

Пока без описания. Скоро добавлю.

Hub-маршрутизатор:

Hub1(config)#int Tu0
Hub1(config-if)#ip nhrp network-id 666
Hub1(config-if)#ip nhrp map multicast dynamic
Hub1(config-if)#ip nhrp authentication authpass

Spoke-Маршрутизатор

Spoke1(config)#interface Tunnel0
Spoke1(config-if)#ip nhrp network-id 666
Адрес туннельного интерфейса hub-маршрутизатора указывается как next-hop-сервер:
Spoke1(config-if)#ip nhrp authentication nhrppass
Spoke1(config-if)#ip nhrp map multicast 172.16.0.1 10.0.0.1
Spoke1(config-if)#ip nhrp map 10.0.0.1
Spoke1(config-if)#ip nhrp nhs 10.10.10.1
Spoke1(config-if)#ip nhrp registration no-unique

Настройка EIGRP

Hub1(config)#router eigrp 20
Hub1(config-router)#network 10.0.0.0 0.0.0.255
Hub1(config-router)#network 172.16.0.0 0.0.0.255
Hub1(config-router)#no auto-summary

Только на Hub-маршрутизаторе (int tu0) отключим Split Horizon и next hop self

Hub1(config-if)#no ip split-horizon eigrp 20
Hub1(config-if)#no ip next-hop-self eigrp 20

Настройки для OSPF добавлю позже.

Настройка IPSec

Hub1(config)#crypto isakmp policy 10
Hub1(config-isakmp)#authentication pre-share
Hub1(config)#crypto isakmp key 0 ciscovpnkey address 0.0.0.0 0.0.0.0
Hub1(config)#crypto ipsec transform-set DMVPNset esp-des
Hub1(cfg-crypto-trans)#mode transport
Hub1(config)#crypto ipsec profile DMVPN-profile
Hub1(config-profile)#set transform-set DMVPNset
Hub1(config)#interface Tunnel0
Hub1(config-if)#tunnel protection ipsec profile DMVPN-profile

Если нигде не ошиблись, должно работатьsmile

Чуть позже добавлю диагностические команды и конфигурации маршрутизаторов.

Оставить комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

     

  

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

(обязательно)