Dynamic Multipoint VPN (DMVPN) это вид VPN сетей, с возможностью динамического создания туннелей.
DMVPN это дальнейшее развитие VPN сетей, которое основывается на протоколах NHRP, mGRE, IPSec и протоколов динамической маршрутизации(OSPF, ODR, RIP, EIGRP, BGP).
Главные преимущества Dynamic Multipoint VPN с динамической маршрутизацией:
- при добавлении нового узла не требуется изменение конфигурации остальных узлов;
- маршруты между всеми узлами добавятся автоматически при подключении узлов.
В сети DMVPN существует два типа сетевых узлов:
- HUB – главный маршрутизатор, который сообщает остальным участникам сети о всех туннелях;
- SPOKE – остальные участники VPN сети, которые могут получать настройки от HUB и динамически строить туннели между собой
Так же рекомендуется использовать протоколы динамической маршрутизации (OSPF, RIP, BGP и т.д.), чтобы автоматически строить маршруты между соединенными сетями.
В данной статье мы рассмотрим настройку DMVPN с протоколом динамической маршрутизации OSPF на базе программного маршрутизатора VyOS.
Как установить и первично настроить VyOS мы рассказывали в статьях:
Установка VyOS
Настройка VyOS
Топология сети
Топология тестовой сети изображена на рисунке ниже.
Маршрутизаторы:
- HUB – главный маршрутизатор для сети DMVPN;
- SPOKE1, SPOKE2 – маршрутизаторы сети DMVPN.
Интерфейсы:
- tun1 – интерфейс для DMVPN;
- eth1 – внешний интерфейс маршрутизатора.
IP адресация:
- 10.0.0.0/24, 10.0.1.0/24, 10.0.2.0/24 – внутренние подсети;
- 1.1.1.1, 2.2.2.2, 3.3.3.3 – внешние адреса маршрутизаторов;
- 172.20.0.0/24 – подсеть для DMVPN;
- 172.20.0.1, 172.20.0.1, 172.20.0.1 – адреса маршрутизаторов в сети DMVPN.
Начнем настройку.
Настройка tun интерфейсов
Настраиваются идентично для HUB, SPOKE1 и SPOKE2. Различие только в IP адресах. Требуется указать внутренний адрес для туннеля (tun1) и внешний адрес маршрутизатора.
set interfaces tunnel tun1 address XXX.XXX.XXX.XXX/XX
set interfaces tunnel tun1 encapsulation gre
set interfaces tunnel tun1 local-ip YYY.YYY.YYY.YYY
set interfaces tunnel tun1 multicast enable
set interfaces tunnel tun1 parameters ip key 1
XXX.XXX.XXX.XXX/XX – внутренний IP адрес туннеля и маска сети. Должен быть уникальным для каждого маршрутизатора;
YYY.YYY.YYY.YYY – внешний адрес маршрутизатора.
Соответственно:
Для HUB:
XXX.XXX.XXX.XXX/XX – 172.20.0.1/24;
YYY.YYY.YYY.YYY – 1.1.1.1.
Для SPOKE1:
XXX.XXX.XXX.XXX/XX – 172.20.0.2/24;
YYY.YYY.YYY.YYY – 2.2.2.2.
Для SPOKE2:
XXX.XXX.XXX.XXX/XX – 172.20.0.3/24;
YYY.YYY.YYY.YYY – 3.3.3.3.
Настройка IPsec
IPsec на всех узлах настраивается полностью идентично (HUB, SPOKE1, SPOKE2).
Настройка фаз IPSec (IKE и ESP):
set vpn ipsec ipsec-interfaces interface eth1
set vpn ipsec ike-group ike_dmvpn proposal 1
set vpn ipsec ike-group ike_dmvpn proposal 1 encryption aes256
set vpn ipsec ike-group ike_dmvpn proposal 1 hash sha1
set vpn ipsec ike-group ike_dmvpn proposal 2 encryption aes128
set vpn ipsec ike-group ike_dmvpn proposal 2 hash sha1
set vpn ipsec ike-group ike_dmvpn lifetime 3600
set vpn ipsec ike-group ike_dmvpn proposal 1 dh-group 2
set vpn ipsec esp-group esp_dmvpn proposal 1 encryption aes256
set vpn ipsec esp-group esp_dmvpn proposal 1 hash sha1
set vpn ipsec esp-group esp_dmvpn proposal 2 encryption 3des
set vpn ipsec esp-group esp_dmvpn proposal 2 hash md5
set vpn ipsec esp-group esp_dmvpn lifetime 1800
set vpn ipsec esp-group esp_dmvpn pfs dh-group2
Создание IPsec профиля и привязка к созданному интерфейсу tun1.
PSK ключ в примере: blackdiver.net
set vpn ipsec profile dmvpn
set vpn ipsec profile dmvpn authentication mode pre-shared-secret
set vpn ipsec profile dmvpn authentication pre-shared-secret blackdiver.net
set vpn ipsec profile dmvpn bind tunnel tun1
set vpn ipsec profile dmvpn esp-group esp_dmvpn
set vpn ipsec profile dmvpn ike-group ike_dmvpn
Настройка NHRP
Центральный маршрутизатор (HUB)
set protocols nhrp tunnel tun1 cisco-authentication blackdiver.net
set protocols nhrp tunnel tun1 holding-time 300
set protocols nhrp tunnel tun1 multicast dynamic
set protocols nhrp tunnel tun1 redirect
Клиенты (SPOKE1, SPOKE2)
set protocols nhrp tunnel tun1 cisco-authentication blackdiver.net
set protocols nhrp tunnel tun1 map XXX.XXX.XXX.XXX/XX nbma-address YYY.YYY.YYY.YYY
set protocols nhrp tunnel tun1 map XXX.XXX.XXX.XXX/XX register
set protocols nhrp tunnel tun1 multicast nhs
set protocols nhrp tunnel tun1 redirect
set protocols nhrp tunnel tun1 shortcut
XXX.XXX.XXX.XXX/XX – IP адрес и маска подсети интерфейса tun1 главного маршрутизатора;
YYY.YYY.YYY.YYY – внешний IP адрес главного маршрутизатора (HUB).
Соответственно:
XXX.XXX.XXX.XXX/XX – 172.20.0.1/24;
YYY.YYY.YYY.YYY – 1.1.1.1.
Настройка OSPF
Настраиваем OSPF на маршрутизаторах таким образом, что DR всегда будет только HUB.
Центральный маршрутизатор (HUB)
set interfaces tunnel tun1 ip ospf priority 255
set protocols ospf area 0 network XXX.XXX.XXX.XXX/XX
set protocols ospf area 0 network YYY.YYY.YYY.YYY/YY
XXX.XXX.XXX.XXX/XX – подсеть DMVPN;
YYY.YYY.YYY.YYY/YY – внутренная сеть маршрутизатора.
Соответственно для HUB:
XXX.XXX.XXX.XXX/XX – 172.20.0.0/24;
YYY.YYY.YYY.YYY/YY – 10.0.0.0/24.
Клиенты (SPOKE1, SPOKE2)
set interfaces tunnel tun1 ip ospf priority 0
set protocols ospf area 0 network XXX.XXX.XXX.XXX/XX
set protocols ospf area 0 network YYY.YYY.YYY.YYY/YY
Соответственно:
Для SPOKE1:
XXX.XXX.XXX.XXX/XX – 172.20.0.0/24;
YYY.YYY.YYY.YYY/YY – 10.0.1.0/24.
Для SPOKE2:
XXX.XXX.XXX.XXX/XX – 172.20.0.0/24;
YYY.YYY.YYY.YYY/YY – 10.0.2.0/24.
Настройка завершена. Остается применить и сохранить:
commit
save
Через несколько секунд запустятся туннели и трафик начнет ходить через IPsec туннели.
Диагностика
Показать существующие туннели NHRP:
run show nhrp tunnel
Показать соседей OSPF:
run show ip ospf neighbor
Показать маршруты, переданные через OSPF:
run show ip route ospf
Это основные команды для диагностики.
Желаем удачной настройки.
Заказать создание и поддержку безопасной IT-инфраструктуры любой сложностиБыть уверенным в своей IT-инфраструктуре – это быть уверенным в завтрашнем дне. Для того, чтобы сделать заказ:
|