четверг, 10 ноября 2011 г.

DMVPN сеть успользуя сертификаты на маршрутизаторах Cisco

Поступила задачка собрать схему DMVPN сети и что бы все крутилось на сертификатах, и что бы ключики жили на e-Token
Сервер сертификатов на Hub'e =) Да возможно не лучшее решение, но друго варианта нет.
После изучения материалов в сети стало ясно что сервер сертификатов поднять на Hub'e не проблема главное подружить всё c e-Token =) Первое что огорчило это Cisco не поддерживает e-Token Pro Java от компании aladdin =( это огорчило потмоу что поставщики об этом не упомянули.... хотя мы их честно предупреждали "мы будем поднимать все на cisco"
Потом мы перезаказали эти tokenы, и они очень даже подошли.

Из железа у нас:
Cisco 3845 ios 12.4.24 T6
Cisco 2811 ios 12.4.24 T6 - 2 шт
e-token pro 64  - 2 шт

Что бы избежать ошибок разделил задачу на две =)
1-е сервер сертификатов

2-е сама DMVPN сеть

И так начнем поднимать сервер сертификатов:

!Указываем домен
Hub(config)#ip domain name kli

! и сервера синхронизации времени
Hub(config)#ntp server 62.117.76.141
Hub(config)#ntp server 62.117.76.142
Hub(config)#ntp server 209.167.68.100

!Генирируем пару ключей на Hub'e
crypto key generate rsa general-keys label Hub_Main storage usbtoken1

!Поглядим что получилось:
Hub#show crypto key mypubkey rsa

Key name: Hub_Main.kli.server
Temporary key
 Usage: Encryption Key
 Key is not exportable.
 Key Data:
  ******
  ******тут как раз ключик
 
% Key pair was generated at: 13:53:24 KRS Nov 9 2011
Key name: Hub_Main
 Storage Device: usbtoken1 (label=eToken PRO)
 Usage: General Purpose Key
 Key is not exportable.
 Key Data:
  ******
  ******тут как раз ключик

#Если необходимо можно удалить ключевую пару
cry key zeroize rsa ИМЯ_КЛЮЧА

!Пропишем Host
Hub(config)ip host Hub_Main 192.168.1.1

!Идентификация сервера в сети:
Hub(config)crypto pki server Hub_Main
Hub(cs-server)#    grant auto rollover ca-cert
Hub(cs-server)#    auto-rollover 25
 
Hub(cs-server)#issuer-name CN=Hub_Main
Hub(cs-server)# lifetime crl 24
Hub(cs-server)# lifetime certificate 200
Hub(cs-server)# lifetime ca-certificate 365
Hub(cs-server)# grant auto


! Храним базу сертификатов в Flash
Hub(cs-server)#database url flash:
Hub(cs-server)#database level minimum
Hub(cs-server)# exit

!Отступление про database level
  minimum — хранится информация достаточная для выдачи новых сертификатов без возникновения конфликтов. Значение по умолчанию.
!   names — в дополнение к информации уровня minimum, хранится серийный номер и subject name каждого сертификата.
!   complete — в дополнение к информации уровней minimum и names, каждый выданный сертификат хранится в базе данных.

!Траст_поитн создается автоматически, ее можно поменять/дополнить/изменить ДО ВКЛЮЧЕНИЯ сервера сертификатов.
Hub(config)#crypto pki trustpoint Hub_Main
Hub(ca-trustpoint)# enrollment url http://Hub_Main:80
Hub(ca-trustpoint)# revocation-check crl
Hub(ca-trustpoint)#exit

!Включение сервера секртификатов
Hub(config)#crypto pki server Hub_Main   
Hub(cs-server)#no shut




Ну вот почти и всё но это только Hub =) надо еще пролить конфиг Spoke







Router(config)#hostname Spoke-1







!Указываем домен
Spoke-1(config)#ip domain name kli
! и сервера синхронизации времени
Spoke-1(config)#ntp server 62.117.76.141
Spoke-1(config)#ntp server 62.117.76.142
Spoke-1(config)#ntp server 209.167.68.100

!Создание статической записи хост-ip address:
Spoke-1(config)# ip host Hub_Main XX.XX.XX.254

!Необходимо сгенерировать пару ключей:

Spoke-1(config)#crypto key generate rsa general-keys label Spoke-1 storage usbtoken1


!Необходимо создать trustpoint и зайти в режим настройки:

Spoke-1(config)# crypto pki trustpoint Hub_Main

!Указать url для запроса сертификатов:
Spoke-1(ca-trustpoint)# enrollment url http://Hub_Main:80

!Получить сертификат CA-сервера:
!Запросите собственный сертификат:
 
Spoke-1-Krasles(config)# crypto pki authenticate Hub_Main
Spoke-1-Krasles(config)# crypto pki enroll Hub_Main

хе-хе вроде все да не все =) надо еще создать траст_поинт Hub'a на Hub'e =) во как...

!Настройка маршрутизатора, на котором находится CA, на получения сертификата для IPSec

!Создаем статическую запись хост-ip address:
Hub(config)# ip host Hub_Main 192.168.10.1

Для того чтобы сервер мог получить сертификат необходимо создать на нем еще одну trustpoint, так как trustpoint созданная автоматически при создании CA-сервера не может использоваться для выдачи сертификата сервером самому себе:

Hub(config)# crypto pki trustpoint Hub_Main-local
Hub(ca-trustpoint)#enrollment url http://Hub_Main:80

!Получить сертификат CA-сервера:
Hub(config)# crypto pki authenticate Hub_Main-local

!Запросите сертификат:
Hub(config)# crypto pki enroll Hub_Main-local




Теперь начнем поднимать DMVPN
с этим проблем не должно возникнуть, как в принципе и сервером сертификатов, в сети море инфы главное её правильно связать в своей голове =)

config Hub'a


crypto isakmp policy 1

crypto ipsec transform-set trans2 esp-aes 256 esp-md5-hmac
 mode transport
!
crypto ipsec profile VPN_Prof
 set transform-set trans2

interface GigabitEthernet0/1.1
 description ***Internet ***
 encapsulation dot1Q 2572
 ip address XX.XX.XX.254 255.255.255.252
 ip virtual-reassembly
end
interface Tunnel0
 bandwidth 1000
 ip address 10.10.10.1 255.255.255.0
 no ip redirects
 no ip next-hop-self eigrp 1
 ip nhrp map multicast dynamic
 ip nhrp network-id 999
 ip nhrp holdtime 300
 ip virtual-reassembly
 ip tcp adjust-mss 1260
 no ip split-horizon eigrp 1
 delay 1000
 tunnel source GigabitEthernet0/1.1
 tunnel mode gre multipoint
 tunnel protection ipsec profile VPN_Prof
end



Комментариев нет:

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