Сначала общую политику для фазы 1 – установление первого, вспомогательного туннеля: тип шифрования (по умолчанию DES) и аутентификации. Аутентификацию можно делать на основе сертификатов, но мы рассмотрим простой пример с предварительным ключом:
crypto isakmp policy 1
encr aes
authentication pre-share
Часто задаются несколько таких политик с различными комбинациями шифрования, хеша и группы DH. Чем больше номер политики, тем позже он будет рассмотрен (в зависимости от того, кто инициирует соединение). То есть сначала выбирается политика с наименьшим номером – не совпали на обеих сторонах, выбирается следующая (с большим номером) и т.д. Логично, что самой безопасной должна быть первая.
Указываем pre-shared key для проверки подлинности соседа 200.0.0.1
crypto isakmp key CISCO address 200.0.0.1
Далее мы указываем параметры для обработки трафика. Алгоритм шифрования AES с использованием ESP-заголовка и алгоритм аутентификации.
crypto ipsec transform-set AES128-SHA esp-aes esp-sha-hmac
На самом деле мы указываем сразу набор протоколов, как вы видите, он и называется transform-set. При установке IPSec-сессии маршрутизаторы обмениваются этими наборами. Они должны совпадать.
Для упрощения траблшутинга имена для transform-set обычно даются по применённым протоколам.
Теперь создаём карту шифрования:
crypto map MAP1 10 ipsec-isakmp
set peer 200.0.0.1
set transform-set AES128-SHA
match address 101
Вот именно тут и определяется адрес соседа IPSec, с которым потом будет устанавливаться туннель – 200.0.0.1. Тут же привязывается набор протоколов и ACL, определяющий, какой трафик будет шифроваться и передаваться через туннель.
В нашем случае он выглядит так:
access-list 101 permit ip host 10.0.0.0 host 10.1.1.0
Будьте внимательны при задании ACL. Он определяет параметры не только исходящего трафика, но и входящего (в отличие от ACL для NAT, например).
То есть если придут пакеты не от 10.1.1.0, а от 10.2.2.2, он не будет обработан и дешифрован.
То бишь, если мы генерируем трафик с хоста с адресом 10.0.0.0 на 10.1.1.0, то он и только он будет шифроваться и отправляться именно в IPSec-туннель. Любой другой пойдёт простым путём.
Заметим, что шифрование, происходит практически в самую последнюю очередь, после маршрутизации.
И это, кстати, очень важный момент. Вам недостаточно маршрута до публичного адреса пира (200.0.0.1). Нужен маршрут до 10.1.1.0 пусть даже он дефолтный. Иначе пакет будет отброшен в соответствии с обычными правилами маршрутизации.
Как бы странно это ни казалось, но трафик в локальную сеть у вас должен быть “зарулен”, например, в Интернет. При этом приватные пакет, которые уже вот-вот должны быть отправлены к провайдеру и там отброшены, в последний момент шифруется, получая публичные адреса.
Кстати, тут есть таблица с порядком следования операций, производимых над трафиком.
Последний шаг – привязка карты шифрования к интерфейсу. Пока вы этого не сделаете механизм не будет работать.
interface FastEthernet0/0
crypto map MAP1