отмена
Отображаются результаты для 
Вместо этого искать 
Вы имели в виду: 

Настройка GRE over IPsec на маршрутизаторах Cisco

В данной статье расскажу вам о том как настроить IPSec между двумя удаленными маршрутизаторами и разрешить работу IGP протоколов посредством GRE.

Итак. Очень часто приходится сталкиваться с тем, что нужно подключить территориально удаленный офис к центральной сети. Политика компании требует чтобы весь траффик был зашифрован, чтобы избежать утечки информации  Единственной что есть под рукой к примеру – интернет. Нам этого хватит. Решить  эту задачу нам поможет IPsec туннель. Он свяжет две удаленные сети, и будет шифровать траффик. Но что делать если ваша сеть построена на основе динамической маршрутизации? Увы IPsec  не пропускает IGP(протоколы внутренней маршрутизации OSPF,EIGRP…). Для этого нам на помощь приходит среда для маршрутизации или GRE.

Теперь мы точно знаем что нам нужно: Поднять защищенный  GRE тоннель между маршрутизаторами посредством интернета.

Приведу пример настройки данного решения.  В моем случае мы имеем две точки, Москва(MSK) и Соединённое Королевство(UK).  Каждая точка подключена к интернету посредством своего провайдера. Вот и схема:

topology.png

Привожу конфигурацию маршрутизаторов с коментариями:

!

hostname MSK

!

! Создаем политику и настраиваем ее(деталь безопасности). Имейте ввиду на обоих концах методы аутентификации и шифрации должны совпадать.

crypto isakmp policy 1

! Указываем Метод шифрования

encr 3des

! Указываем Метод хеширования

hash md5

! Указываем метод аутентификации, будем использовать ключ

authentication pre-share

!

! указываем ключ для аутентификации(деталь безопасности). Должен совпадать на обоих точках.

crypto isakmp key 12345 address 2.2.2.2

!

! настраиваем набор преобразований - список разрешаемых комбинаций алтгоритмов и протоколов безопасности (деталь безопасности).

crypto ipsec transform-set UK esp-3des esp-md5-hmac

!

! указываем тип набора преобразований. Существуют 2 типа tunnel и transport

! Tunnel(По умолчанию стоит) - В этом режиме шифруется весь IP пакет включая заголовки. IPsec вставляет свои заголовки после инкапсуляции

! Transport - В этом режиме шифруется только отдел data внутри ИП пакета. Заголовки остаются без изменения.

mode tunnel

!

! Создаем крипто карту (детали тунеля)

crypto map uk_tunnel 10 ipsec-isakmp

! Указываем пир адрес, в нашем случае ИП маршрутизатора UK

set peer 2.2.2.2

! Какой набор трансформаций нужно использовать.

set transform-set UK

! Поднимать IPsec тунель и шифровать данные  которые соответствуют листу доступа для классификации траффика.(Почему именно 100, т.к. ниже в конфиге мы создали лист доступа именно 100)

match address 100

!

! Для имитации нескольких сетей и проверки динамической маршрутизации создаем несколько loopback интерфейсов.

interface Loopback11

ip address 10.10.1.1 255.255.255.0

ip ospf 1 area 10

!

interface Loopback12

ip address 10.10.2.1 255.255.255.0

ip ospf 1 area 10

!

interface Loopback13

ip address 10.10.3.1 255.255.255.0

ip ospf 1 area 10

!

interface Loopback14

ip address 10.10.4.1 255.255.255.0

ip ospf 1 area 10

!

interface Loopback15

ip address 10.10.5.1 255.255.255.0

ip ospf 1 area 10

!

! создаем GRE туннель между точками

interface Tunnel0

ip address 10.10.0.1 255.255.255.252

ip ospf 1 area 0

! с какого интерфейса слать пакеты.

tunnel source FastEthernet0/0

! На какой ИП слать пакеты

tunnel destination 2.2.2.2

!

interface FastEthernet0/0

ip address 1.1.1.1 255.255.255.252

duplex auto

speed auto

! Включаем логику IPsec на этом интерфейсе.

crypto map uk_tunnel

!

router ospf 1

log-adjacency-changes

!

! Маршрут на сторону провайдера.

ip route 0.0.0.0 0.0.0.0 1.1.1.2 name default_isp

!

! Класифицируем траффик для шифрования. В нашем случе GRE траффик. между точками.

access-list 100 permit gre host 1.1.1.1 host 2.2.2.2

!

Конфигурация второго маршрутизатора практически идентична только параметры IPsec-а в зеркальном порядке:

hostname UK

!

crypto isakmp policy 1

encr 3des

hash md5

authentication pre-share

crypto isakmp key 12345 address 1.1.1.1

!

!

crypto ipsec transform-set MSK esp-3des esp-md5-hmac

mode tunnel

!

crypto map msk_tunnel 10 ipsec-isakmp

set peer 1.1.1.1

set transform-set MSK

match address 100

!

interface Loopback11

ip address 10.20.1.1 255.255.255.0

ip ospf 1 area 20

!

interface Loopback12

ip address 10.20.2.1 255.255.255.0

ip ospf 1 area 20

!

interface Loopback13

ip address 10.20.3.1 255.255.255.0

ip ospf 1 area 20

!

interface Loopback14

ip address 10.20.4.1 255.255.255.0

ip ospf 1 area 20

!

interface Loopback15

ip address 10.20.5.1 255.255.255.0

ip ospf 1 area 20

!

interface Tunnel0

ip address 10.10.0.2 255.255.255.252

ip ospf 1 area 0

tunnel source FastEthernet0/0

tunnel destination 1.1.1.1

!

interface FastEthernet0/0

ip address 2.2.2.2 255.255.255.252

duplex auto

speed auto

crypto map msk_tunnel

!

router ospf 1

log-adjacency-changes

!

ip route 0.0.0.0 0.0.0.0 2.2.2.1 name default_isp

!

access-list 100 permit gre host 2.2.2.2 host 1.1.1.1

Если вы все верно сделали то у вакс должна заработать динамическа маршрутизация. И получиться следующее:

route.png

Примечание 1:

Командой show crypto isakmp sa можно посмотреть  на каком этапе находится соединение и установился ли тунель. Если тунель установлен, то должно показвть следующее:

15-11-2013 12-47-25.png

Примечание 2:

Если вы настраиваете IPsec внутри VRF инстанции то настройка ключа будет выглядеть так

!

crypto keyring name vrf VRFNAME

  pre-shared-key address x.x.x.x key presharedkey

!

Где

name = любое название на ваш вкус

VRFNAME = название вашей VRF инстанции

x.x.x.x = ИП адрес удаленной точки

presharedkey = ваш ключ

Примечание 3:

Вам будут полезны следующая команда для поиска причин если соединение не хочет устанавливаться

debug crypto engine



9 Комментарии
New Member

Виталий, Вы написали очень интересную статью. Спасибо Вам за нее. Меня уже давно терзал вопрос о том как поднять защищенный тунель между удаленными офисами используя только роутеры Cisco без использования сетевых экранов типа Cisco ASA или использования VPN сети провайдера. К сожалению у меня сейчас нет возможности сделать это на настоящих железках, я тренировался в Cisco Packet Tracer и у меня получилось смоделировать такую сеть с использованием облака Frame Relay. Теперь меня терзают другие вопросы, а именно:

1) На каких моделях роутеров Cisco можно делать подобные вещи? (В Packet Tracer у меня получилось только на моделях 1841 и 2811) Или имеет значение не модель роутера, а установленные на нем лицензии  на криптографию?

2) Есть ли у Вас ссылка на какую-нибудь хорошую статью по работе с командой crypto, хотелось бы побольше узнать о всевозможных ее параметрах и о правильности их использования.

3) Ну и самый сложный вопрос: Можно ли в России пользоваться криптографией, которая есть в устройствах Cisco ? Пользоваться этой криптографией в коммерческих организациях ? Нужно ли какое-то специальное разрешение ФСБ и ФСТЭК ? Я знаю, что нельзя пользоваться такой криптографией в государственных организациях, там разрешены только ГОСТовские алгоритмы шифрования и для поднятия туннелей приходится использовать оборудование VIpNet, КОНТИНЕНТ или какое-то другое сертифицированное ФСБ и ФСТЭК под ГОСТовские алгоритмы.

Спасибо!

1) Если говорить конкретно про IPSec, то смотрите на линейки ISR (начиная с младших 800-х, проходя через те самые 1841 и 2811, и заканчивая новомодным 4451-X) и ASR1k, а также ASA (но они ущербны в плане VPN - например, описанное в статье на них реализовать невозможно). Более конкретные данные - в data sheet'ах по каждой модели. А дальше - да, важны лицензии. В случае ISR надо иметь Securityk9, иначе шифровать вы сможете только ssh к самой железке, да и то не всегда.

2) IPSec, если именно он вас интересует - обширная тема. Неплохая вводная - http://www.cisco.com/en/US/docs/net_mgmt/vpn_solutions_center/2.0/ip_security/provisioning/guide/IPsecPG1.html

New Member

Есть ли большая необходимость в использовании GRE, когда можно использовать "tunnel mode ipsec ipv4" ?

Я думаю, что GRE необходим только там, где нужно пускать не-IP траффик или, например, нужно туннелировать IPv6.

А в таких распространённых случаях, как в статье, избыточная конфигурация с крипто-картами только путает администратора, сам не раз наступал на грабли несимметричных crypto-ACL.

Посмотрите как проста итоговая конфигурация предлагаемая мной:


crypto isakmp policy 10
 encr aes 
 authentication pre-share
 group 2  
crypto isakmp key IPSEC address 10.1.1.1
!
crypto ipsec transform-set IPSEC ah-md5-hmac esp-des 
 mode tunnel
!
crypto ipsec profile IPSEC
 set transform-set IPSEC 
!
interface Tunnel0
 ip address 172.16.1.253 255.255.255.252
 keepalive 10 3
 tunnel source 10.2.2.1
 tunnel destination 10.1.1.1
 tunnel mode ipsec ipv4
 tunnel protection ipsec profile IPSEC
!

Мультикаст там отлично ходит, правда у меня EIGRP, а не OSPF.

Спасибо Игорь за ваш вариант.  Я представил лишь один из способов решения данной задачки. Сам же использую DMVPN и рекомендовал бы использовать.

Скоро обновлю статью, учту и добавлю ваш вариант тоже и DMVPN.

New Member

Если мыслить в порядке появления и действия, то получается не GRE поверх IPSec, а наоборот, потому что вначале появляется туннель GRE ( со своими огромными минусами установления связи, где вы можете поймать вместо желаемого хоста на том конце -- "бобра" который сел поближе ), а потом уже данные которые идут по нему шифруются IPSec, поскольку в мапу IPSec вы вписали трафик принадлежащий туннелю.

Но у меня вопрос в другом, допустим у вас динамическая маршрутизация, но наслоения подсетей на разных концах от этого вы всё равно не добьётесь по вполне понятным причинам, представить сходу частую перепланировку на ходу подсетей компании с таким количеством хостов и подсетей задача огромных трудов и времени, по сравнению с которым перепрописать подсети в мапу IPSec ( не задействия ещё и GRE с пробросом маршрутизации) -- это сущая безделица. Или вы правда столкнулись с таким любопытным внутренним регламентом поддержки сети в организации либо с вынужденной частой сменой такого количества подсетей?

Ответа "да, столкнулся" либо "нет, на это были другие причины(если возможно -- опишите)" мне будет достаточно.

Заранее спасибо.

Доброго времени суток. Как я писал выше,  данная статья написана как вариант использования функционала Cisco. Она может быть полезной в сетях где внедрить DMVPN по каким-либо причинам не возможно.  Лично сам сталкивался с non cisco устройствами на одной из сторон и где оператор GSM разрешает  только хост-хост, данная схема безупречно работает. И именно GRE over IPsec а не наоборот. Т.к. между разрешенными хос-хост поднимается IPsec туннель. Далее уже поверх него работает динамическая  маршрутизация с использованием среды GRE.  При правильно настроенным динамическом протоколе маршрутизации, все изменения  сетях их добавление "наслоение" автоматически добавляют с таблицы маршрутизации без каких либо манипуляций с IPSec и листами доступа. 

При написании статьи использовалась следующая литература:

CCNP ROUTE 642-902 Official Certification Guide - Wendell Odom (стр 664)

Point-to-Point GRE over IPsec Design Guide

 

Еще раз повторюсь, как я писал выше, в динамических сетях или как вы выразились с частыми "наслоениями подсетей" использую и предлагаю использовать DMVPN, опять таки если это возможно.

New Member

Проглядел access-list, прошу прощения. В данном случае именно GRE over IPSec настроен у вас.

Если рассматривать этот пример в комплексе с DMVPN то появляется смысл -- совершенно с вами согласен, а так, отдельно стоящий, он вызывает некоторое недоумение в рациональности его использования :)

Не работает access-list на  интерфейсе

есть router 3925 c3900-universalk9-mz.SPA.154-3.M1.bin на нем поднять Gre over ipsec

на tunnel интерфейсе есть access-list на входящий трафик но он не работает, но на на 3825 c3725-adventerprisek9-mz124-25.bin работал.  почему

 

спасибо

New Member

 

Arstanbek Kainazarov
   
New Member
 

Не работает access-list на  интерфейсе

есть router 3925 c3900-universalk9-mz.SPA.154-3.M1.bin на нем поднять Gre over ipsec

на tunnel интерфейсе есть access-list на входящий трафик но он не работает, но на на 3825 c3725-adventerprisek9-mz124-25.bin работал.  почему

 

спасибо

 

дело в том, что у вас на 3925 стоит лицензия universal, а для шифрования необходима securityk9, залейте на 3925 sec и всё будет гуд

20420
Просмотры
48
Полезный материал
9
Комментарии