Статические и динамические виртуальные туннельные интерфейсы

Опубликовано 02.12.2009

Автор: Bostjan Sustar
Перевод: Сгибнев Михаил

 Virtual tunnel interfaces (VTI) являются сравнительно недавней разработкой и не требуют дополнительного инкапсулирования в GRE, в отличие от обычных туннелей с tunnel protection ipsec. В то же время, мы имеем логический интерфейс, чего мы лишены, используя crypto maps.

 Есть две разновидности VTI:

  • Статический VTI очень похож на реализацию point-to-point GRE туннеля
  • Динамический VTI очень похож на реализацию dial-in, реализованного через virtual templates и расширяющегося до индивидуальных virtual-access

 Динамический VTI — это типичный пример организации удаленного доступа, где сессии IKE назначаются динамически. При развертывании большого количества site-to-site VPN мы получим решение гораздо более простое в реализации и управлении, чем использование классических схем.


[ad name=»Google Adsense»]



 При создании VPN мы должны четко разграничить центральный и периферийные узлы, так как их конфигурация может значительно различаться. Ниже приведены комбинации, где по крайней мере одна сторона использует VTI:

  • Центральный узел — Периферийный узел
  • Static VTI — Static VTI
  • Dynamic VTI — Static VTI
  • Dynamic VTI — Static crypto map
  • Dynamic VTI — Easy VPN remote (+ optional dynamic VTI)

 Использование Static VTI на центральнои и периферийном узлах:

 Это самый простой вариант. Конфигурация фактически идентична обычным GRE-туннелям по IPsec с использованием профилей защиты. Единственное различие заключается в способе конфигурации туннеля.

!
crypto isakmp key mtt3rvLBO3jCoV50zoE address 192.168.1.2
!
crypto isakmp policy 10
encr 3des
authentication pre-share
hash sha
!
crypto ipsec transform-set TS esp-des esp-sha-hmac
!
crypto ipsec profile IPsecP
set transform-set TS
!
interface Serial0
ip address 192.168.1.1 255.255.255.252
!
interface Tunnel0
ip address 10.1.1.1 255.255.255.252
ip mtu 1300
tunnel source Serial0
tunnel destination 192.168.2.1
tunnel protection ipsec profile IP
tunnel mode ipsec ipv4
!
ip route 0.0.0.0 0.0.0.0 Serial0
ip route 10.0.0.0 255.0.0.0 Tunnel0
!

 С технической точки зрения, у этого решения теже самые преимущества и недостатки, как и у реализации GRE. Главное отличие заключается в том, что VTIs поддерживает только IP (unicast и multicast), в то время как GRE поддерживает и другие протоколы. Также, VTI не был доступен на всех платформах Cisco при своем появлении.

 Использование Static VTI и Dynamic VTI на центральном и периферийном узлах:

 Статическая конфигурация туннелей требует наличия большого количества туннельных интерфейсов, так же как и других параметров, например ключей IKE. Замена индивидуальных static VTI на dynamic VTI позволит значительно упростить конфигурацию на центральном узле. Отрицательным моментом является то, что центральный узел не может инициировать соединение, поэтому задача по установлению и поддержанию туннеля возлагается на периферийный узел.

 Комбинируя Static VTI и Dynamic VTI, мы автоматически получаем необходимые функциональные возможности – статические VTI автоматически устанавливают IPsec туннель и восстанавливают его, если он по какой-либо причине упал.

Приведем пример Dynamic VTI:

!
crypto keyring WPSK
pre-shared-key address 0.0.0.0 0.0.0.0 key rvH0cnVLUGe8naVY
!
crypto isakmp policy 10
encr 3des
authentication pre-share
group 2
!
crypto isakmp profile DVTI
keyring WPSK
match identity address 0.0.0.0
virtual-template 1
!
crypto ipsec transform-set TS esp-3des esp-sha-hmac
!
crypto ipsec profile VTI
set transform-set TS
!
interface Virtual-Template1 type tunnel
ip unnumbered Loopback0
tunnel mode ipsec ipv4
tunnel protection ipsec profile VTI
!

 Периферийный узел конфигурируется на использование Static VTI. Unnumbered адресация должна быть сконфигурирована таким образом, чтобы соответствовать Unnumbered на центальном узле. Протокол маршрутизации моет быть сконфигурирован для передачи маршрутиной информации через туннель.

 Приведем пример Static VTI для периферийного узла:

!
crypto keyring WPSK
pre-shared-key address 0.0.0.0 0.0.0.0 key rvH0cnVLUGe8naVY
!
crypto isakmp policy 10
encr 3des
authentication pre-share
group 2
!
crypto ipsec transform-set TS esp-3des esp-sha-hmac
!
crypto ipsec profile VTI
set transform-set TS
!
interface Tunnel0
ip unnumbered Loopback0
tunnel source FastEthernet0/0
tunnel destination 192.168.1.1
tunnel mode ipsec ipv4
tunnel protection ipsec profile VTI
!

 Каждый вновь установленный туннель создает интерфейс virtual-access из virtual template.

 На примере ниже показан мониторинг Dynamic VTI для периферийного узла со static VTIs

!
R1# show ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 192.168.1.1 YES NVRAM up up
FastEthernet0/1 unassigned YES NVRAM administratively down down
SSLVPN-VIF0 unassigned NO unset up up
Virtual-Access1 unassigned YES unset down down
Virtual-Template1 10.1.1.1 YES TFTP down down
Virtual-Access2 10.1.1.1 YES TFTP up up
Virtual-Access3 10.1.1.1 YES TFTP up up
Loopback0 10.1.1.1 YES NVRAM up up
Loopback1 10.100.1.1 YES manual up up
R1# show crypto ipsec sa
interface: Virtual-Access3
Crypto map tag: Virtual-Access3-head-0, local addr 192.168.1.1
protected vrf: (none)
local ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)
remote ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)
current_peer 192.168.1.3 port 500
PERMIT, flags={origin_is_acl,}


 Возможность использования протоклов маршрутизации является главным преимуществом по сравнению с static и dynamic crypto maps, где трафик, который будет шифроваться, определяется с помощью ACL.

 С другой стороны, необходимо провести специальную работу(как и для P2P GRE туннелей), чтобы не создать ситуацию routing-lookup failure.

 Использование Static Crypto Maps в комбинации с Dynamic VTI

 Dynamic VTI так же может имитировать функционал dynamic crypto maps. Центральный узел может быть сконфигурирован на работу с dynamic VTI, сохраняя существующие туннели IPsec от периферийных узлов, используя static crypto maps. Функциональность типа reverse route injection (RRI) реализуется с помощью dynamic VTI автоматически, посредством чего создается статический маршрут для каждой удаленной сети, с которой установлена связь через IKE.

 На примере ниже показан мониторинг Dynamic VTIs при использовании на удаленной стороне static crypto maps

!
R1# show crypto ipsec sa
interface: Virtual-Access2
Crypto map tag: Virtual-Access2-head-0, local addr 192.168.1.1
protected vrf: (none)
local ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)
remote ident (addr/mask/prot/port): (10.100.2.0/255.255.255.0/0/0)
current_peer 192.168.1.2 port 500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 4, #pkts encrypt: 4, #pkts digest: 4

R1# show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
10.0.0.0 255.0.0.0 is variably subnetted, 6 subnets, 3 masks
C 10.1.1.0 255.255.255.0 is directly connected, Loopback0
S 10.0.0.0 255.0.0.0 [1/0] via 10.1.1.2
S 10.100.2.0 255.255.255.0 [1/0] via 192.168.1.2, Virtual-Access2
C 10.100.1.0 255.255.255.0 is directly connected, Loopback1
C 192.168.1.0 255.255.255.0 is directly connected, FastEthernet0/0
R1#

 Использование Easy VPN Remote и Dynamic VTIs

 Чтобы пойти еще глубже в технологию удаленного доступа, мы можем использовать Easy VPN Remote и функциональные возможности сервера, для реализации site-to-site VPN.

 Easy VPN имеет следующие характерные особенности:

  • Центральный узел имеет большое количество параметров и сложную конфигурацию
  • На периферийном узле конфигурация черезвычайно проста

 В основном, термин «Easy VPN» используется для обозначения функционала Cisco VPN client, который был перенесен в Cisco IOS и требует минимальной конфигурации:

  • Адрес удаленной точки
  • Подтверждение (имя группы и ключ)
  • Режим (client, network, network plus).
  • Внутренний интерфейс (сеть)

 Все другие параметры установлены в значения по умолчанию (такие как правила IKE или IPsec transforms) или динамически назначаются с Easy VPN server во время фазы конфигурации режима IKE (такие как IP address, domain name, сервер DNS)

 На примере ниже представлена конфигурация Easy VPN Remote:

!
crypto ipsec client ezvpn GRP1
peer 192.168.1.1
group GRP1 key ZRaAJvQj6P845dsw
mode network
!
interface FastEthernet0/0
description Internet link
crypto ipsec client ezvpn GRP1
!
interface FastEthernet1/0
description LAN
crypto ipsec client ezvpn GRP1 inside
!

 Данный пример иллюстрирует работу network-extension–mode Easy VPN, который гарантирует работу туннеля и обеспечивает доступность сети, расположенной за маршрутизатором периферийного узла, на центральном узле. Таким образом мы реализовали базовый site-to-site VPN.

 Обратите внимание на то, что группа сконфигурирована на использование pre-shared ключей, которые уязвимы для нападений «человек в середине». Рекомендуется использовать RSA-ключи или сертификаты.

 На примере ниже показана конфигурация Easy VPN Server:

!
crypto isakmp client configuration group GRP1
key ZRaAJvQj6P845dsw
dns 10.1.1.10 10.1.1.20
domain nil.com
pool POOL
!
ip local pool dynpool 10.200.1.1 10.200.1.100
!

 Кусок конфигурации, представленный выше, показывает как устанавливаются параметры IP периферийных узлов. Эти параметры могут быть сохранены на сервере AAA, таком как Cisco Secure ACS, если стоит задача балансировки нагрузки и обеспечения отказоустойчивости.

 Поскольку Easy VPN страдает той же проблемой, что и crypto map (отсутствием маршрутизируемого интерфейса), динамический VTI может быть использован в комбинации с Easy VPN для обеспечения маршрутизации и QoS.

 В примере ниже показана конфигурация Easy VPN Remote с dynamic VTIs

!
crypto ipsec client ezvpn GRP1
peer 192.168.1.1
group GRP1 key ZRaAJvQj6P845dsw
mode network
virtual-interface 1
!
interface Virtual-Template1 type tunnel
no ip address
tunnel mode ipsec ipv4
service-policy output SLA
!
interface FastEthernet0/0
description Internet link
crypto ipsec client ezvpn GRP1
!
interface FastEthernet1/0
description LAN
crypto ipsec client ezvpn GRP1 inside
!

 Подводя итоги, в качестве основных достоинств использования static и/или dynamic VTI можно указать:

  • Поддержка IP multicast
  • Поддержка протоколов динамической маршрутизации
  • Повышение управляемости через использование одного virtual-template
  • Возможность использования per-site QoS(например, rate limit)
  • Гибкость dynamic VTI в комбинациях с static crypto maps, static VTIs и Easy VPN

 В качестве основного недостатка можно указать:

  • Сложность поиска неисправностей, так как нельзя наложить дескрипторы и использование unnumbered интерфейсов.

Используемая литература:
Configuring Cisco Easy VPN with IPSec Dynamic Virtual Tunnel Interface (DVTI)
IPSec Virtual Tunnel Interface
Configuring a Virtual Tunnel Interface with IP Security

 Уважайте труд автора, сохраняйте копирайты.
Реклама на сайте висит не просто так и если статья Вам понравилась, с ее помощью Вы можете отблагодарить автора за проделанную работу. Спасибо!


[ad name=»Google Adsense»]


3 комментария в Статические и динамические виртуальные туннельные интерфейсы

  1. В части Использование Static Crypto Maps в комбинации с Dynamic VTI, показан только мониторинг Dynamic VTIs при использовании на удаленной стороне static crypto maps. Можно пример конфига HUB-DVTI,SPOKE-static crypto map?

  2. То Алексей: К сожалению, я не использую в работе Static Crypto Maps в комбинации с Dynamic VTI, поэтому конфиг привести не могу. Оригинал статьи оказался довольно сильно переписан, в нем эта часть вообще исключена, ссылки на оригинал — Designing Site-to-Site IPsec VPNs и Designing Site-to-Site IPsec VPNs — Part 2, возможно это Вам поможет.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*