четверг, 21 октября 2010 г.

IPSec Madness (незакончено)

Попытаюсь уложить сюда проверенные примеры разных реализаций ipsec.
Списочек вот такой (буду допонять):
1. старый добрый ipsec через статические и динамические криптомапы;
2. GREoIPSec через криптомапы и tunnel protect;
3. статические и динамические VTI;
4. три фазы DMVPN;
5. ...


С IPSec через криптомапы все вроде ясно и понятно.
Статический криптомап.
готовим ACL для интересующего нас трафика, isakmp policy, transform set, все объединяем в криптомап и вешаем на интерфейс:
ip access-list extended SECACL
 permit ip host 192.168.100.1 host 192.168.100.2
!
crypto isakmp policy 100
 encr aes
 hash md5
 authentication pre-share
 group 2
crypto isakmp key test address 192.168.100.2
crypto isakmp peer address 192.168.100.2
!
crypto ipsec transform-set TEST esp-aes esp-md5-hmac 
!
crypto map TEST 100 ipsec-isakmp 
 set peer 192.168.100.2
 set transform-set TEST 
 match address SECACL
!
interface FastEthernet0/1
 ip address 192.168.100.1 255.255.255.0
 crypto map TEST
На пире зеркалируем конфиги.

Динамический криптомап.
Сделан для простоты настройки центрального роутера и возможности подключения пиров с динамическими адресами.
ACL больше не требуется, isakmp имеет в данном примере один ключ на все подключающиеся пиры, что не безопасно (правильнее будет использовать CA), пиры больше напрямую не прописываются.
crypto isakmp policy 100
 encr aes
 hash md5
 authentication pre-share
 group 2
crypto isakmp key test address 0.0.0.0 0.0.0.0
!
crypto ipsec transform-set TEST esp-aes esp-md5-hmac 
!
crypto dynamic-map DMAP 10
 set transform-set TEST 
 reverse-route
!
crypto map HUB 10 ipsec-isakmp dynamic DMAP 
!
interface FastEthernet0/1
 ip address 192.168.100.1 255.255.255.0
 crypto map HUB
!
На подключающихся пирах настраиваем статические криптомапы.

GRE over IPSec.
Туннели IPSec не поддерживают передачу мультикаста и броадкаста, потому применяем GRE, но GRE не умеет шифровать данные, потому засовываем туннель GRE в туннель IPSec.
GREoIPSec через криптомапы.
Пишем ACL для трафика GRE между обоими концами туннеля, поднимаем GRE туннель, а криптомап с настройками IPSsec вешаем на реальный интерфейс, с которого начинается туннель GRE.
ip access-list extended GRE
 permit gre host 192.168.100.1 host 192.168.100.2
!
crypto isakmp policy 100
 encr aes
 hash md5
 authentication pre-share
 group 2
crypto isakmp key test address 192.168.100.2
crypto isakmp peer address 192.168.100.2
!
crypto ipsec transform-set TEST esp-aes esp-md5-hmac 
!
crypto map TEST 100 ipsec-isakmp 
 set peer 192.168.100.2
 set transform-set TEST 
 match address GRE
!
interface Tunnel10
 ip address 10.10.1.1 255.255.255.0
 tunnel source FastEthernet0/1
 tunnel destination 192.168.100.2
!
interface FastEthernet0/1
 ip address 192.168.100.1 255.255.255.0
 crypto map TEST
На пире зеркалируем конфиг.
Упростить конфигурацию с обоих концов туннеля поможет настройка GREoIPSEC через tunnel protect.
При такой настройке пропадает необходимость в криптомапе, ACL и прямом указании пиров IPSec. Все необходимые настройки берутся из конфигурации туннеля GRE.
В следующем конфиге используется аутентификация по сертификатам, что требует наличия соответсвующей инфраструктуры.
crypto isakmp policy 100
 encr aes
 hash md5
 group 2
!
crypto ipsec transform-set TEST esp-aes esp-md5-hmac
!
crypto ipsec profile IPSEC
 set transform-set TEST 
!
interface Tunnel10
 ip address 10.10.1.1 255.255.255.0
 tunnel source FastEthernet0/1
 tunnel destination 192.168.100.2
 tunnel protection ipsec profile IPSEC
!
interface FastEthernet0/1
 ip address 192.168.100.1 255.255.255.0

VTI (virtual tunnel interface) к бонусам предыдущего добавляет отсутствие дополнительного инкапсулирования GRE, что уменьшает длину заголовка. Работает с мультикастом, но только с IP. Поддерживается только туннельный режим IPSec.
Настройка статического VTI отличается от GREoIPSec только другим режимом туннеля:
crypto isakmp policy 100
 encr aes
 hash md5
 group 2
!
crypto ipsec transform-set TEST esp-aes esp-md5-hmac
!
crypto ipsec profile IPSEC
 set transform-set TEST 
!
interface Tunnel10
 ip address 10.10.1.1 255.255.255.0
 tunnel source FastEthernet0/1
 tunnel destination 192.168.100.2
 tunnel protection ipsec profile IPSEC
 tunnel mode ipsec ipv4
!
interface FastEthernet0/1
 ip address 192.168.100.1 255.255.255.0
Динамический VTI упрощает настройку центрального хаба с помощью virtual template:
crypto keying KEYS
 pre-shared-key address 0.0.0.0 0.0.0.0 key SECRET
!
crypto isakmp policy 100
 encr aes
 hash md5
 group 2
 auth pre-share
!
crypto isakmp profile VTI
 keying KEYS
 match identity address 0.0.0.0
 virtual-template 1
!
crypto ipsec transform-set TEST esp-aes esp-md5-hmac
!
crypto ipsec profile IPSEC
 set transform-set TEST
!
interface Virtual-Template1 type tunnel
 ip unnumbered Loopback0
 tunnel mode ipsec ipv4
 tunnel protection ipsec profile IPSEC
На пире используем статический VTI (ну или статический криптомап).

В обоих случаях (VTI и GREoIPSec) просто направляем трафик, требующий шифрования на туннельный интерфейс, но в случае DVTI потребуется динамическая маршрутизация (т.к. template создает интерфейсы virtual-access динамически, а значит статику на такой интерфейс не пропишешь).

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

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