Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...
OSzone.net Microsoft Сети Сетевые протоколы и технологии Поговорим о VPN-ах? Типы VPN соединений. Масштабирование VPN RSS

Поговорим о VPN-ах? Типы VPN соединений. Масштабирование VPN

Текущий рейтинг: 5 (проголосовало 3)
 Посетителей: 5351 | Просмотров: 7701 (сегодня 0)  Шрифт: - +

Regular IPSec



*

Настройка через Crypto map


Конфигурация устройств:
HUBSpoke1
Настройка первой фазы IPSec для обмена сессионного ключа:

crypto isakmp policy 1
hash md5
authentication pre-share
group 5
crypto isakmp key cisco123 address 172.16.1.2
!
Настройка второй фазы IPSec c заданием алгоритма шифрования и аутентификации

crypto ipsec transform-set Trans_HUB1_SP1 esp-aes 256 esp-md5-hmac
!
crypto map HUB_SPOKEs 1 ipsec-isakmp
set peer 172.16.1.2
set transform-set Trans_HUB1_SP1
match address TO_Spoke1
reverse-route static
!
crypto isakmp policy 1
hash md5
authentication pre-share
group 5
crypto isakmp key cisco123 address 192.168.1.1
!
crypto ipsec transform-set Trans_SP1_HUB1 esp-aes 256 esp-md5-hmac
!
crypto map SP1_HUB 1 ipsec-isakmp
set peer 192.168.1.1
set transform-set Trans_SP1_HUB1
match address TO_HUB
reverse-route static
!
Настройка заворачивания маршрутов в туннель
ip access-list extended TO_Spoke1
permit ip 10.0.0.0 0.0.0.255 1.1.1.0 0.0.0.255
!
Interface Ethernet0/0
ip address 192.168.1.1 255.255.255.0
crypto map HUB_SPOKEs
!
ip access-list extended TO_HUB
permit ip 1.1.1.0 0.0.0.255 10.0.0.0 0.0.0.255
!
Interface Ethernet0/0
ip address 172.16.1.1 255.255.255.0
crypto map SP1_HUB
!


Проверка работоспособности
HUB#ping 1.1.1.1 source 10.0.0.1
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 4/4/5 ms
Spoke1#ping 10.0.0.1 source 1.1.1.1
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 4/4/5 ms
Проверка сходимости VPN:
Успешный обмен ключами:
Spoke1#show crypto isakmp sa
IPv4 Crypto ISAKMP SA
dst                       src                    state              conn-id status
192.168.1.1     172.16.1.2      QM_IDLE           1007 ACTIVE

Успешное прохождение трафика через VPN:
Spoke1#show crypto ipsec sa

interface: Ethernet0/0
Crypto map tag: SP1_HUB, local addr 172.16.1.2

protected vrf: (none)
local  ident (addr/mask/prot/port): (1.1.1.0/255.255.255.0/256/0)
remote ident (addr/mask/prot/port): (10.0.0.0/255.255.255.0/256/0)
current_peer 192.168.1.1 port 500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 4, #pkts encrypt: 4, #pkts digest: 4
#pkts decaps: 4, #pkts decrypt: 4, #pkts verify: 4
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 0, #recv errors 0

local crypto endpt.: 172.16.1.2, remote crypto endpt.: 192.168.1.1
path mtu 1500, ip mtu 1500, ip mtu idb Ethernet0/0
current outbound spi: 0xA7424886(2806139014)
PFS (Y/N): N, DH group: none

SPI передается в IPSec пакете для того, чтобы при получении его пир-ом, в данном случае HUB-ом,  HUB знал какой SA (security association) использовать, то есть какой протокол шифрования, какой протокол аутентификации и т.д. используется и как пакет расшифровывать. На HUB-е есть точно такая же SA с таким же SPI.
Успешное прохождение трафика через VPN на HUB-e
HUB#sho crypto ipsec sa

interface: Ethernet0/0
Crypto map tag: HUB_SPOKEs, local addr 192.168.1.1

protected vrf: (none)
local  ident (addr/mask/prot/port): (10.0.0.0/255.255.255.0/256/0)
remote ident (addr/mask/prot/port): (1.1.1.0/255.255.255.0/256/0)
current_peer 172.16.1.2 port 500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 4, #pkts encrypt: 4, #pkts digest: 4
#pkts decaps: 4, #pkts decrypt: 4, #pkts verify: 4
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 0, #recv errors 0

local crypto endpt.: 192.168.1.1, remote crypto endpt.: 172.16.1.2
path mtu 1500, ip mtu 1500, ip mtu idb Ethernet0/0
current outbound spi: 0x10101858(269490264)
PFS (Y/N): N, DH group: none

inbound esp sas:
spi: 0xA7424886(2806139014)
transform: esp-256-aes esp-md5-hmac ,
in use settings ={Tunnel, }
conn id: 19, flow_id: SW:19, sibling_flags 80000040, crypto map: HUB_SPOKEs
sa timing: remaining key lifetime (k/sec): (4360017/2846)
IV size: 16 bytes
replay detection support: Y
Status: ACTIVE(ACTIVE)


Теперь добавим еще один Spoke, посмотрим, какие изменения нам потребуется внести
Настройка на HUBНастройка на новом Spoke
HUB#
crypto isakmp policy 1
hash md5
authentication pre-share
group 5
crypto isakmp key cisco123 address 172.16.1.2
crypto isakmp key cisco456 address 172.16.2.3    
!
!
crypto ipsec transform-set Trans_HUB1_SP1 esp-aes 256 esp-md5-hmac
!
crypto map HUB_SPOKEs 1 ipsec-isakmp
set peer 172.16.1.2
 set peer 172.16.2.3
set transform-set Trans_HUB1_SP1
match address TO_Spokes
reverse-route static
!
ip access-list extended TO_Spokes
permit ip 10.0.0.0 0.0.0.255 1.1.1.0 0.0.0.255
permit ip 10.0.0.0 0.0.0.255 2.2.2.0 0.0.0.255

т.е. для добавления N spoke-ов, нужно 3N дополнительный строчек
Настройка такая же как и на первом Spoke1 (с учетом  поправки внутренних сетей в ACL)
Spoke2#
crypto isakmp policy 1
hash md5
authentication pre-share
group 5
crypto isakmp key cisco456 address 192.168.1.1
!
!
crypto ipsec transform-set Trans_SP2_HUB1 esp-aes 256 esp-md5-hmac
!
crypto map SP2_HUB 1 ipsec-isakmp
set peer 192.168.1.1
set transform-set Trans_SP2_HUB1
match address TO_HUB
reverse-route static
!
ip access-list extended TO_HUB
permit ip 2.2.2.0 0.0.0.255 10.0.0.0 0.0.0.255


Проверка работы VPN
Проверка доступности второго удаленного офиса:
HUB#ping 2.2.2.2 source 10.0.0.1
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 4/4/5 ms

На HUBе теперь появилась дополнительная сессия обмена ключами со вторым Spoke:
HUB#sho crypto isakmp sa
IPv4 Crypto ISAKMP SA
dst                        src                     state              conn-id status
192.168.1.1     172.16.2.3      QM_IDLE           1009 ACTIVE
192.168.1.1     172.16.1.2      QM_IDLE           1008 ACTIVE

Однако связи между офисами нет (даже через HUB).
Spoke1#ping 2.2.2.2 source 1.1.1.1
.....
Success rate is 0 percent (0/5)


Отсутствие связности до Spoke2 неудивительно — необходимо включать внутренние сети нового удаленного офиса в Crypto ACL, в итоге для обеспечения связности между Spokе-ми через HUB требуется добавление в Crypto ACL N сетей на N spoke-ах.

Альтернатива. Множественные Crypto map.


Пример конфигурации IPSec множественных VPN-ов с удаленными офисами с динамическими или статическими ip адресами, когда каждый офис получает доступ через интернет канал VPN-HUBа, но при этом все удаленные сети находятся в таблице маршрутизации и до них организована связь без использования NAT-а.

*

HUB#
crypto ipsec transform-set 3DES-MD5 esp-3des esp-md5-hmac
mode tunnel
!
crypto ipsec profile Spokes_VPN_Profile
set security-association lifetime seconds 86400
set transform-set 3DES-MD5
set reverse-route distance 1
reverse-route
!
crypto dynamic-map hq-vpn 30
set profile Spokes_VPN_Profile
match address VPN33-32-TRAFFIC
crypto dynamic-map hq-vpn 3348
set profile Spokes_VPN_Profile
match address VPN3348-TRAFFIC
crypto dynamic-map hq-vpn 50
set profile Spokes_VPN_Profile
match address VPN33-64-TRAFFIC
!        
crypto map VPN 1 ipsec-isakmp dynamic hq-vpn
!
interface GigabitEthernet1/0
ip address 55.1.1.5 255.255.255.0
<omitted...>
crypto map VPN
!
ip access-list extended VPN33-32-TRAFFIC
permit ip any 192.168.33.32 0.0.0.15
ip access-list extended VPN33-48-TRAFFIC
permit ip any 192.168.33.48 0.0.0.15
ip access-list extended VPN33-64-TRAFFIC
permit ip any 192.168.33.64 0.0.0.15
Spoke#
crypto ipsec transform-set 3DES-MD5 esp-3des esp-md5-hmac
mode tunnel
!
crypto map VPN 1 ipsec-isakmp
set peer 55.1.1.5
set transform-set 3DES-MD5
match address TO_HUB
reverse-route static
!
interface FastEthernet0/0
ip address negotiated
<omitted...>
crypto map VPN
!
ip access-list extended TO_HUB
permit ip 192.168.33.32 0.0.0.15 any

В данной схеме и в данной конфигурации на удаленных офисах выставлено в Crypto ACL в качестве сети назначения – ip any, т.е. трафик к любому хосту будет заворачиваться в туннель, и при подключении нового удаленного офиса нет необходимости в изменении во всех остальных Crypto ACL в N удаленных офисах.
Независимо от метода подключения: Regular IPSec или (забегая немного вперед, IPSec  dynamic IP)  в том и другом случае мы сталкиваемся с задачей обеспечения доступности между удаленными площадками. В рамках подключения типа Regular IPSec и IPSec  dynamic IP нужно вручную определять сети в crypto ACL, поэтому для уменьшения конфигурации на оконечных устройствах после подключения очередного удаленного офиса, возможно пойти двумя путями:
  1. Отойти от crypto map к VTI и настроить динамическую маршрутизацию.
  2. Для настройки динамического протокола маршрутизации (OSPF) перейдем от использования метода crypto  map к такой же настройке, но только через VTI интерфейс (поддерживает unicast, multicast).

Настройка через Virtual Tunnel Interface + профайлы.


Virtual Tunnel Interface обеспечивают маршрутизирующий интерфейс для терминирования IPSec туннелей и более простой способ обеспечения безопасного соединения удаленных корпоративных сетей. VTI поддерживает передачу через туннель только юникаста и мультикаста, что позволяет обеспечить работу динамических протоколов маршрутизации без дополнительной необходимости в инкапсулировании пакета в GRE (дополнительные 4-байта). Существуют два типа виртуальных туннельных интерфейса:
Static virtual interface – представляет собой point-to-point туннель
Dуnamic virtual interface – позволяет масштабировать решение по VPN-ам путем терминирования множественных туннелей на себя с удаленных Spoke-ов, которые могут иметь динамический IP адрес. Единственный недостаток – только удаленные spoke маршрутизаторы могут инициировать установление туннеля (т.к. только у них указан tunnel destination HUB_ip).
При настройке DVTI на HUB маршрутизаторе создается шаблон настроек virtual-template, при успешном обмене ключами с удаленным spoke-м и установлении с ним туннеля — из «шаблона» на HUBе создается virtual-access интерфейс, который является как SVTI туннельный интерфейс  для данного туннеля.
Особенности VTI:
  • Traffic selector (т.е. тот трафик, который будет завернут в туннель) у Static VTI всегда ip any any;
  • Traffic selector у Dynamic VTI тоже по умолчанию ip any any и поддерживает только одну IPSec SA, но может принимать тот traffic selector, который предлагает ему инициатор;
  • Не поддерживается Stateful Failover;
  • Режим работы transform-set только в туннельном режиме.


*

Настройка Static VTI через профайлы
HUB#
crypto isakmp policy 1
hash md5
authentication pre-share
group 5
crypto isakmp key cisco123 address 172.16.1.2
!
crypto ipsec transform-set Trans_HUB_SP esp-aes esp-sha-hmac
!
crypto ipsec profile P1
set transform-set Trans_HUB_SP
!
interface Tunnel0
ip address 10.1.1.254 255.255.255.0
ip ospf mtu-ignore*(см.ниже)
load-interval 30
tunnel source 192.168.1.1
tunnel mode ipsec ipv4
tunnel destination 172.16.1.2
tunnel protection ipsec profile P1
!
router ospf 1
network 10.0.0.0 0.0.0.255 area 0
network 10.1.1.0 0.0.0.255 area 0
Spoke1#
crypto isakmp policy 1
hash md5
authentication pre-share
group 5
crypto isakmp key cisco123 address 192.168.1.1
!
crypto ipsec transform-set Trans_HUB_SP esp-aes esp-sha-hmac
!
crypto ipsec profile P1
set transform-set Trans_HUB_SP
!
interface Tunnel0
ip address 10.1.1.1 255.255.255.0
ip ospf mtu-ignore
load-interval 30
tunnel source 172.16.1.2
tunnel mode ipsec ipv4
tunnel destination 192.168.1.1
tunnel protection ipsec profile P1
!
router ospf 1
network 1.1.1.0 0.0.0.255 area 0
network 10.1.1.0 0.0.0.255 area 0


Проверка установления соседства через OSPF over Static VTI
HUB#sh ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address      Interface
1.1.1.1           0    FULL/  -        00:00:33    10.1.1.1        Tunnel0

Сеть на Spoke 1 теперь доступна через туннель
HUB#sh ip route
1.0.0.0/32 is subnetted, 1 subnets
O        1.1.1.1 [110/1001] via 10.1.1.1, 00:02:56, Tunnel0
10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks
C        10.0.0.0/24 is directly connected, Loopback0
L        10.0.0.1/32 is directly connected, Loopback0
C        10.0.1.0/24 is directly connected, Loopback1
L        10.0.1.1/32 is directly connected, Loopback1
C        10.1.1.0/24 is directly connected, Tunnel0
L        10.1.1.254/32 is directly connected, Tunnel0

Проверка доступности сетей в Центральном офисе со Spoke 1
Spoke1#ping 10.0.0.1 source 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 5/5/5 ms

Traffic Selector для Static VTI ip any any, т.е. все, что мы направим в туннель через статический маршрут либо через протокол маршрутизации, то и будет шифроваться/дешифроваться.
Spoke1#sho crypto ipsec sa

interface: Tunnel0
Crypto map tag: Tunnel0-head-0, local addr 172.16.1.2
protected vrf: (none)
local  ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/256/0)
remote ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/256/0)
current_peer 192.168.1.1 port 500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 76, #pkts encrypt: 76, #pkts digest: 76
#pkts decaps: 65, #pkts decrypt: 65, #pkts verify: 65
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 0, #recv errors 0


interface Tunnel0
ip address 10.1.1.254 255.255.255.0
ip ospf mtu-ignore

OSPF Neighbor осуществляет проверку на использование одинакового значения MTU на интерфейсе. Если neighbor получит размер MTU в DBD пакете бОльший, чем MTU своего входящего интерфейса, то соседство не установится.
При подключении второго Spoke2 настраивается второй Tunnel (HUB-Spoke2), на которого выделяется своя отдельная подсеть.
HUB#sho ip ospf neighbor

Neighbor ID     Pri   State       Dead Time   Address         Interface
2.2.2.2            0   FULL/  -        00:00:31    10.1.2.2        Tunnel1
1.1.1.1            0   FULL/  -        00:00:30    10.1.1.1        Tunnel0

Маршруты на Spoke1
Spoke1#sh ip route
Gateway of last resort is 172.16.1.5 to network 0.0.0.0

<...ommited...>
C        1.1.1.0/24 is directly connected, Loopback0
L        1.1.1.1/32 is directly connected, Loopback0
2.0.0.0/32 is subnetted, 1 subnets
O        2.2.2.2 [110/2001] via 10.1.1.254, 01:53:04, Tunnel0 <-Сеть Spoke2
10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
O        10.0.0.1/32 [110/1001] via 10.1.1.254, 02:04:11, Tunnel0  <-Сеть Головного офиса
O        10.0.1.1/32 [110/1001] via 10.1.1.254, 02:04:11, Tunnel0  <-подсеть туннеля HUB-Spoke1
C        10.1.1.0/24 is directly connected, Tunnel0
L        10.1.1.1/32 is directly connected, Tunnel0
O        10.1.2.0/24 [110/2000] via 10.1.1.254, 01:53:14, Tunnel0  <-подсеть туннеля HUB-Spoke2
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks

Сообщение до второго удаленного офиса через Центральный офис:
Spoke1#traceroute 2.2.2.2
Type escape sequence to abort.
Tracing the route to 2.2.2.2
VRF info: (vrf in name/id, vrf out name/id)
1 10.1.1.254 5 msec 4 msec 5 msec
2 10.1.2.2 5 msec 10 msec *


IPSec with Dynamic IP, Dynamic VTI



*

Рассмотрим на нашем примере схему с использованием Dynamic VTI на HUBе, Static VTI на spoke-ах.  К Dynamic VTI могут подключаться также и с настроенными crypto map-ами.
HUB#
crypto keyring KEY_Dynamic_connection
pre-shared-key address 0.0.0.0 0.0.0.0 key cisco123
!
crypto isakmp policy 1
hash md5
authentication pre-share
group 5
crypto isakmp profile DVTI
keyring KEY_Dynamic_connection
match identity address 0.0.0.0
virtual-template 1
!
crypto ipsec transform-set Trans_HUB_SP esp-aes esp-sha-hmac
!
crypto ipsec profile P1
set transform-set Trans_HUB_SP
set isakmp-profile DVTI
!
interface Loopback1
ip address 10.1.1.254 255.255.255.0
!
interface Virtual-Template1 type tunnel
ip unnumbered Loopback1
ip ospf mtu-ignore
tunnel mode ipsec ipv4
tunnel protection ipsec profile P1
!
router ospf 1
network 10.0.0.0 0.0.0.255 area 0
network 10.1.1.0 0.0.0.255 area 0
Spoke1#
crypto keyring KEY_Dynamic_connection
pre-shared-key address 0.0.0.0 0.0.0.0 key cisco123
!
crypto isakmp policy 1
hash md5
authentication pre-share
group 5
crypto isakmp profile DVTI
keyring KEY_Dynamic_connection
match identity address 0.0.0.0
!
crypto ipsec transform-set Trans_HUB_SP esp-aes esp-sha-hmac
!
crypto ipsec profile P1
set transform-set Trans_HUB_SP
set isakmp-profile DVTI
!
interface Loopback1
ip address 10.1.1.1 255.255.255.0
!
interface Tunnel0
ip unnumbered Loopback1
ip ospf mtu-ignore
tunnel source Ethernet0/0
tunnel mode ipsec ipv4
tunnel destination 192.168.1.1
tunnel protection ipsec profile P1
!
router ospf 1
network 1.1.1.0 0.0.0.255 area 0
network 10.1.1.0 0.0.0.255 area 0

Проверим установленные туннели при двух подключенных Spoke-ах:
HUB#sh crypto isakmp sa
IPv4 Crypto ISAKMP SA
dst                  src                  state            conn-id status
192.168.1.1     172.16.2.3      QM_IDLE           1047 ACTIVE
192.168.1.1     172.16.1.2      QM_IDLE           1046 ACTIVE

HUB# sh ip int br
Interface                    IP-Address      OK? Method   Status           Protocol
Ethernet0/0                192.168.1.1     YES NVRAM      up                    up
Ethernet0/1                unassigned      YES  manual        up                    up
Ethernet0/2                unassigned      YES NVRAM    down              down
Ethernet0/3                unassigned      YES manual         up                    up
Loopback0                   10.0.0.1        YES manual          up                    up
Loopback1                   10.1.1.254      YES manual        up                     up
Virtual-Access1          10.1.1.254      YES unset           up                    up
Virtual-Access2          10.1.1.254      YES unset           up                    up
Virtual-Template1      10.1.1.254      YES manual         up                  down

HUB#sho 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/256/0)
remote ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/256/0)
   current_peer 172.16.1.2 port 500

interface: Virtual-Access1
Crypto map tag: Virtual-Access1-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/256/0)
remote ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/256/0)
current_peer 172.16.2.3 port 500


Работа OSPF через туннели:
HUB#sh ip ospf neighbor

Все spoke-и находятся в одной сети!

Neighbor ID     Pri   State           Dead Time   Address         Interface
1.1.1.1           0     FULL/  -        00:00:32    10.1.1.1        Virtual-Access2
2.2.2.2           0     FULL/  -        00:00:35    10.1.1.2        Virtual-Access1

Маршруты Центрального Офиса
HUB#sh ip route
Gateway of last resort is not set

1.0.0.0/32 is subnetted, 1 subnets
O        1.1.1.1 [110/2] via 10.1.1.1, 00:05:00, Virtual-Access2 <-Сеть Spoke1
2.0.0.0/32 is subnetted, 1 subnets
O        2.2.2.2 [110/2] via 10.1.1.2, 00:44:01, Virtual-Access1 <-Сеть Spoke2
10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks
C        10.0.0.0/24 is directly connected, Loopback0
L        10.0.0.1/32 is directly connected, Loopback0
C        10.1.1.0/24 is directly connected, Loopback1
O        10.1.1.1/32 [110/2] via 10.1.1.1, 00:05:00, Virtual-Access2  <-Туннельные интерфейсы Spoke1
O        10.1.1.2/32 [110/2] via 10.1.1.2, 00:44:01, Virtual-Access1  <-Туннельные интерфейсы Spoke2
L        10.1.1.254/32 is directly connected, Loopback1
172.16.0.0/24 is subnetted, 3 subnets
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.1.0/24 is directly connected, Ethernet0/0
L        192.168.1.1/32 is directly connected, Ethernet0/0

Маршруты на Spoke1:
Spoke1#sh ip route
Gateway of last resort is 172.16.1.5 to network 0.0.0.0

S*    0.0.0.0/0 [1/0] via 172.16.1.5
1.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C        1.1.1.0/24 is directly connected, Loopback0
L        1.1.1.1/32 is directly connected, Loopback0
2.0.0.0/32 is subnetted, 1 subnets
O        2.2.2.2 [110/1002] via 10.1.1.254, 00:05:38, Tunnel0 <-Сеть Spoke2
10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
O        10.0.0.1/32 [110/1001] via 10.1.1.254, 00:05:38, Tunnel0 <- Сети Центрального офиса
C        10.1.1.0/24 is directly connected, Loopback1
L        10.1.1.1/32 is directly connected, Loopback1
O        10.1.1.2/32 [110/1002] via 10.1.1.254, 00:05:38, Tunnel0 <-Туннельный интерфейс Spoke2
O        10.1.1.254/32 [110/1001] via 10.1.1.254, 00:02:26, Tunnel0 <-Туннельный интерфейс HUBa
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C        172.16.1.0/24 is directly connected, Ethernet0/0
L        172.16.1.2/32 is directly connected, Ethernet0/0

Spoke1#traceroute 2.2.2.2
1 10.1.1.254 5 msec 5 msec 5 msec
2 10.1.1.2     9 msec 5 msec *

Spoke1#traceroute 10.1.1.2
1 10.1.1.254 5 msec 5 msec 5 msec
2 10.1.1.2     5 msec 10 msec *


Восстановление канала при падении линка
Выключим Tunnel интерфейс на Spoke, очистим ipsec сессии и обмененными ключами. После этого включим интерфейс обратно:
Spoke1(config-if)#no shutdown
*Aug  6 10:02:27.669: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
*Aug  6 10:02:27.702: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to up
*Aug  6 10:02:27.713: %OSPF-5-ADJCHG: Process 1, Nbr 10.0.0.1 on Tunnel0 from LOADING to FULL, Loading Done

Восстановление туннеля прошло автоматически.

EASY VPN


Идея технологии Easy VPN заключается в облегчении установления VPN-подключения региональным маршрутизаторам засчет того, что часть настроек касательно IPSec сообщается VPN-клиенту самим VPN HUB-ом. Для этого в протокол согласования ассоциаций безопасности (ISAKMP) была внесена дополнительная фаза 1.5. Через эту фазу vpn-клиент может запросить информацию о IP-адресе, DNS-ы, ACL для split tunnel. Чаще всего эта технология используется в организации удаленного подключения через Cisco VPN Client.
Три режима работы Easy VPN Remote[1]:
  • клиентский режим. В этом случае на VPN-клиенте(маршрутизаторе) вся локальная сеть удаленного офиса подвергается NAT/PAT-трансляции в адрес, который выдан сервером из заданного пула
  • режим сетевого расширения. В этом случае, все сетевые устройства, которые находятся за VPN-клиентом (маршрутизатором), получают IP-адреса и являются полноценными участниками IP-маршрутизации. В этом случае PAT не используется, что позволяет конечным рабочим станциям работать друг с другом напрямую.
  • режим сетевого расширения «плюс». Аналогичен режиму простого сетевого расширения, но с дополнением в виде возможности запроса IP-адреса в процессе установления защищенного канала связи и его автоматической установки на доступный Loopback-интерфейс. Ассоциации безопасности IPsec для этого IP-адреса автоматически создаются Easy VPN Remote’ом. Этот IP чаще всего используется для устранения неисправностей (ping, telnet, ssh и т.д.).

Есть и особенности в настройках:
Cisco Easy VPN Remote не поддерживает transform set с установленной безопасностью без аутентификации (ESP-DES and ESP-3DES) или transform-set, обеспечивающий аутентификацию без шифрования (ESP-NULL ESP-SHA-HMAC and ESP-NULL ESP-MD5-HMAC)
Если на VPN-клиенте (маршрутизаторе) настроен NAT/PAT до настройки Cisco Easy VPN Remote, то в первую очередь необходимо удалить NAT-правила (в последствии они создадутся автоматически)

*

Настройка Easy VPN в client mode


На VPN-клиенте (маршрутизаторе) вся локальная сеть удаленного офиса подвергается NAT/PAT-трансляции в адрес, который выдан сервером из заданного пула
VPN_HUB#
aaa new-model
!
aaa authorization network LOCAL-AUTHOR local
crypto isakmp policy 10
authentication pre-share
group 2
!
crypto isakmp client configuration group VPN-CLIENT-GROUP
key vpnclientcisco
pool VPN-LOCAL-POOL
acl 100
crypto isakmp profile PROFILE-ISAKMP
match identity group VPN-CLIENT-GROUP
isakmp authorization list LOCAL-AUTHOR
client configuration address respond
client configuration group VPN-CLIENT-GROUP
virtual-template 1
!
crypto ipsec transform-set TRANSFORM-IPSEC esp-aes esp-sha-hmac
!
crypto ipsec profile PROFILE-IPSEC
set transform-set TRANSFORM-IPSEC
set isakmp-profile PROFILE-ISAKMP
interface Ethernet0/0
ip address 192.168.1.2 255.255.255.0
ip nat inside
ip virtual-reassembly in
!
interface Ethernet0/1
ip address 77.1.1.2 255.255.255.0
ip nat outside
ip virtual-reassembly in
!
interface Virtual-Template1 type tunnel
ip unnumbered Ethernet0/1
ip nat inside
ip virtual-reassembly in
tunnel mode ipsec ipv4
tunnel protection ipsec profile PROFILE-IPSEC
!
ip local pool VPN-LOCAL-POOL 172.16.40.1 172.16.40.100
!
ip nat inside source list TONAT interface Ethernet0/1 overload
(задаем ip адрес VPN HUBа, указываем VPN-группу, режим работы VPN-клиента и аутентификационные данные)
VPN_Client#
crypto ipsec client ezvpn EZVPN-CLIENT
connect auto
group VPN-CLIENT-GROUP key vpnclientcisco
mode client
peer 77.1.1.2
username cisco password cisco
xauth userid mode local
!
interface Ethernet0/0
ip address 172.16.1.7 255.255.255.0
crypto ipsec client ezvpn EZVPN-CLIENT
!
interface Ethernet0/2
ip address 192.168.2.7 255.255.255.0
ip nat inside
crypto ipsec client ezvpn EZVPN-CLIENT inside
Клиенту выдается автоматически IP
VPN_Client#sh ip int br
Interface                     IP-Address       OK? Method     Status                Protocol
Ethernet0/0                172.16.1.7       YES NVRAM        up                    up
Ethernet0/2                192.168.2.7     YES NVRAM        up                    up
Loopback0                   7.7.7.7           YES NVRAM       up                     up
Loopback10000       172.16.40.49     YES TFTP            up                   up
NVI0                            172.16.1.7   YES unset            up                    up

Автоматически прописывается ip outside nat (ip nat inside мы должны прописать) и добавляются ACL!
Проверим, что NAT настроился автоматически, прописался исходящий интерфейс и добавились списки контроля доступа ACL интересующего нас трафика
VPN_Client#sh ip nat statistics
Total active translations: 0 (0 static, 0 dynamic; 0 extended)
Peak translations: 0
Outside interfaces:
Ethernet0/0
Inside interfaces:
Ethernet0/2
Hits: 0  Misses: 0
CEF Translated packets: 0, CEF Punted packets: 0
Expired translations: 0
Dynamic mappings:
— Inside Source
[Id: 106] access-list EZVPN-CLIENT_internet-list interface Ethernet0/0 refcount 0
[Id: 105] access-list EZVPN-CLIENT_enterprise-list pool EZVPN-CLIENT refcount 0
pool EZVPN-CLIENT: netmask 255.255.255.0
start 172.16.40.49 end 172.16.40.49
type generic, total addresses 1, allocated 0 (0%), misses 0

Видно, что добавились автоматически два списка доступа. Посмотрим, какой тип трафика они определяют
VPN_Client#sh access-lists EZVPN-CLIENT_internet-list (не локальные сети пускать в инет)
Extended IP access list EZVPN-CLIENT_internet-list
10 deny ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
20 deny ip 192.168.2.0 0.0.0.255 2.2.2.0 0.0.0.255
30 permit ip 192.168.2.0 0.0.0.255 any
!
VPN_Client#sh access-lists EZVPN-CLIENT_enterprise-list (локальные сети натить в назначенный IP)
Extended IP access list EZVPN-CLIENT_enterprise-list
10 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
20 permit ip 192.168.2.0 0.0.0.255 2.2.2.0 0.0.0.255


Автор: Семенов Вадим  •  Иcточник: www.habrahabr.ru  •  Опубликована: 04.03.2015
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:   VPN.


Оценить статью:
Вверх
Комментарии посетителей
Комментарии отключены. С вопросами по статьям обращайтесь в форум.