Cisco. VPN-туннель IPSec (Tunnel)

Материал из Wiki
Перейти к навигации Перейти к поиску


Описание и входные данные

Предположим, что имеется Центральный офис и Филиал

ЦО:

Внутренняя сеть: 192.168.250.0/24

Адрес внутреннего интерфейса (направленного в локальную сеть): 192.168.250.8

Внешний интерфейс: 172.16.250.1/24 - FastEthernet 6/0

Шлюз провайдера: 172.16.250.8

Филиал:

Внутренняя сеть: 192.168.17.0/24

Адрес внутреннего интерфейса (направленного в локальную сеть): 192.168.17.8

Внешний интерфейс: 172.16.17.1/24 - FastEthernet 6/0

Шлюз провайдера: 172.16.17.8

Настройка

Настройка ЦО

Сначала настроим общую политику для фазы 1 – установление первого, вспомогательного туннеля: тип шифрования (по умолчанию DES) и аутентификации.

Аутентификацию можно делать на основе сертификатов, но мы рассмотрим простой пример с предварительным ключом:

crypto isakmp policy 1

encr aes

authentication pre-share

Часто задаются несколько таких политик с различными комбинациями шифрования, хеша и группы DH.

Чем больше номер политики, тем позже он будет рассмотрен (в зависимости от того, кто инициирует соединение).

То есть сначала выбирается политика с наименьшим номером – не совпали на обеих сторонах, выбирается следующая (с большим номером) и т.д. Логично, что самой безопасной должна быть первая.

Указываем pre-shared key для проверки подлинности соседа на другой стороне - 172.16.17.1

crypto isakmp key 0 CISCO address 172.16.17.1

Далее мы указываем параметры для обработки трафика. Алгоритм шифрования AES с использованием ESP-заголовка и алгоритм аутентификации.

crypto ipsec transform-set AES128-SHA esp-aes esp-sha-hmac

На самом деле мы указываем сразу набор протоколов, как вы видите, он и называется transform-set.

При установке IPSec-сессии маршрутизаторы обмениваются этими наборами. Они должны совпадать.

Для упрощения траблшутинга имена для transform-set обычно даются по применённым протоколам.

Теперь создаём карту шифрования

Вот именно тут и определяется адрес соседа IPSec, с которым потом будет устанавливаться туннель – 200.0.0.1

crypto map MAP1 10 ipsec-isakmp

set peer 172.16.17.1

set transform-set AES128-SHA

match address 101

Тут же привязывается набор протоколов и ACL, определяющий, какой трафик будет шифроваться и передаваться через туннель.

192.168.250.0 0.0.0.255 - локальная сеть ЦО за рутером

192.168.17.0 0.0.0.255 - локальная сеть Филиала за рутером

access-list 101 permit ip 192.168.250.0 0.0.0.255 192.168.17.0 0.0.0.255

Будьте внимательны при задании ACL. Он определяет параметры не только исходящего трафика, но и входящего (в отличие от ACL для NAT, например).

То есть если придут пакеты не от 192.168.17.0, а от 10.2.2.2, он не будет обработан и дешифрован.

То есть, если мы генерируем трафик с хоста с адресом 192.168.250.0 на 192.168.17.0, то он и только он будет шифроваться и отправляться именно в IPSec-туннель.

Любой другой пойдёт простым путём.

Заметим, что шифрование, происходит практически в самую последнюю очередь, после маршрутизации.

И это, кстати, очень важный момент. Вам недостаточно маршрута до публичного адреса пира (172.16.17.1).

Нужен маршрут до 192.168.17.0 пусть даже он дефолтный. Иначе пакет будет отброшен в соответствии с обычными правилами маршрутизации.

Как бы странно это ни казалось, но трафик в локальную сеть у вас должен быть “зарулен”, например, в Интернет.

При этом приватные пакет, которые уже вот-вот должны быть отправлены к провайдеру и там отброшены, в последний момент шифруется, получая публичные адреса.

172.16.250.8 - шлюз провайдера

ip route 0.0.0.0 0.0.0.0 172.16.250.8

Последний шаг – привязка карты шифрования к внешнему интерфейсу, на котором работает IPSec.

Пока вы этого не сделаете механизм не будет работать.

interface FastEthernet 6/0

crypto map MAP1

Настройка Филиала

crypto isakmp policy 1

encr aes

authentication pre-share

crypto isakmp key 0 CISCO address 172.16.250.1

crypto ipsec transform-set AES128-SHA esp-aes esp-sha-hmac

crypto map MAP1 10 ipsec-isakmp

set peer 172.16.250.1

set transform-set AES128-SHA

match address 101

192.168.250.0 0.0.0.255 - локальная сеть ЦО за рутером

192.168.17.0 0.0.0.255 - локальная сеть Филиала за рутером

access-list 101 permit ip 192.168.17.0 0.0.0.255 192.168.250.0 0.0.0.255

172.16.250.8 - шлюз провайдера

ip route 0.0.0.0 0.0.0.0 172.16.17.8

interface FastEthernet 6/0

crypto map MAP1

Теперь необходимо пустить в туннель трафик.

Например, с компьютера 192.168.250.36 из локальной сети ЦО до 192.168.17.36 в подсети Филиала:

ping 192.168.17.36

Проверка

show crypto session

show crypto isakmp sa

show crypto ipsec sa