Как настроить gre туннель cisco

Осваиваем VPN: настройка GRE-туннеля на Cisco (часть 1)

GRE (Generic Routing Encapsulation — общая инкапсуляция маршрутов) — протокол туннелирования пакетов, разработанный компанией Cisco. Основная задача этого протокола — создавать поверх обычного заголовка сетевого уровня новый IP-заголовок, который будет содержать в себе измененный IP-адрес.

Туннелирование — процесс, в ходе которого создается защищенное логическое соединение между двумя конечными точками посредством инкапсуляции различных протоколов. При туннелировании данные упаковываются вместе со служебными заголовками в новый «конверт» для обеспечения конфиденциальности и целостности всей передаваемой информации. Важно отметить, что протокол GRE не обеспечивает шифрование данных и таким образом не дает никаких гарантий безопасности при передаче данных. Для шифрования существуют другие протоколы, которые работают совместно с GRE. Достаточно популярен сегодня для таких целей IPSec.

Источник статьи: http://netclo.ru/osvaivaem-vpn-nastroyka-gre-tunnelya-na-cisco-chas/

Прежде всего рассмотрим ситуацию, которая пояснит в каких случаях применяется туннелирование. Вот есть у нас такая сеть.

В этой схемы две внутренних подсети — 192.168.1.0/24 и 192.168.3.0/24. Каждая из них подключена к маршрутизаторам, которые имеют выход в Интернет с публичными адресами 11.11.11.11 и 33.33.33.33 соответственно. Представим такую ситуацию, когда нам необходимо обеспечить связность между двумя подсетями (например, каждая подсеть — это офис одного предприятия). Локальные (серые) адреса в сети Интернет не маршрутизируются. Для настройки связности необходимо «поднять» на каждом из маршрутизаторов виртуальный туннель (interface Tunnel) и назначить этому туннелю свой IP-адрес (в данном примере используется подсеть 192.168.1.0/30). Также в туннеле указывается source и destination IP-адрес, которые соответствуют публичным адресам. Пример: для маршутизатора A source ip = 11.11.11.11, destination ip = 33.33.33.33. После чего, настраиваем статический маршрут с указанием, что все пакеты, которые имеют адрес назначения внутренней сети, должны пересылаться на созданный туннель.

Читайте также:  Экран touch не работает что это

Выше я описал настройку туннеля в общих словах. Далее я покажу пример настройки GRE-туннеля на конкретном оборудовании Cisco с подробными комментариями.

Конфигурация для Router A:

Router_A(config)#interface fastEthernet0/0 — настройка интерфейса в сторону LAN1

Router_A(config-if)#description LAN — описание интерфейса

Router_A(config-if)#ip address 192.168.1.1 255.255.255.0 — задаем шлюз для LAN1

Router_A(config-if)#no shutdown — включаем интерфейс

Router_A(config)#interface fastEthernet0/1 — настройка порта в сторону Интернета

Router_A(config-if)#description Internet — описание интерфейса

Router_A(config-if)#ip address 11.11.11.11 255.0.0.0 — задаем публичный IP

Router_A(config-if)#no shutdown — включаем интерфейс

Router_A(config)#interface Tunnel0 — настройка GRE-туннеля

Router_A(config-if)#ip address 192.168.2.1 255.255.255.252 — задаем IP для первой точки

Router_A(config-if)#tunnel source 11.11.11.11 — подменяем IP-адрес отправителя

Router_A(config-if)#tunnel destination 33.33.33.33 — подменяем IP-адрес получателя

Router_A(config)#ip route 192.168.3.0 255.255.255.0 Tunnel0 — добавляем статический маршрут в сторону LAN2

Router_A(config)#ip route 0.0.0.0 0.0.0.0 11.11.11.12 — добавляем статический маршрут в сторону провайдера

Аналогичная конфигурация для Router B (без комментариев):

Router_B(config-if)#ip address 192.168.3.1 255.255.255.0

Router_B(config-if)#ip address 33.33.33.33 255.0.0.0

Router_B(config-if)#ip address 192.168.2.2 255.255.255.252

Router_B(config-if)#tunnel source 33.33.33.33

Router_B(config-if)#tunnel destination 11.11.11.11

Router_B(config)#ip route 192.168.1.0 255.255.255.0 Tunnel0

Router_B(config)#ip route 0.0.0.0 0.0.0.0 33.33.33.34

Для того, чтобы проверить работоспособность туннеля необходимо выполнить следующие команды.

Пример: проверка GRE-туннеля с RouterA на RouterB

Пингуем из первой подсети во вторую

RouterA>ping 192.168.1.2 source 192.168.3.2

Смотрим состояние туннеля

RouterA>show interface tunnel0

Результат вывода команды show interface Tunnel 0 на RouterA

Как видим туннель поднялся. Теперь проверим связность между компьютером из посети LAN1 и сервером из подсети LAN2.

Два пакета потерялись на ARP-запросе, а дальше пинг идет. Значит мы настроили туннель между двумя подсетями и имеем доступ к серверу.

Напоследок рассмотрим процесс инкапсуляции заголовка GRE в IP-пакет. Анализировать этот процесс удобно с помощью программы-анализатора трафика Wireshark. Ссылка на скачивание программы и инструкция.

GRE-заголовок накладывается «поверх» стандартного IP-пакета. При этом в самом GRE-заголовке содержится так называемый Tunnel IP Header. Именно в нем содержится информация о tunnel source и tunnel destination, которые ранее мы указывали при конфигурации маршрутизаторов. Данные адреса вкладываются в основной пакет, когда он отправляется в публичную сеть. В поле Control Information оригинального IP-пакета содержатся исходные IP-адреса источника и назначения. Таким образом, локальные серые IP-адреса скрыты в пакете, а в маршрутизации участвуют только те адреса которые мы указали в tunnel source и tunnel destination. При передаче пакета в локальную сеть GRE-заголовок отбрасывается и остается «чистый» IP-пакет.

А вот ISMP-запрос от компьютера из LAN1 к серверу LAN2. Пакет «пойман» на участке между маршрутизатором и Интернет. Видно, что стандартный IP-пакет инкапсулируется в GRE, который потом в свою очередь инкапсулируется в новый IP-пакет с адресами источника и назначения: 11.11.11.11 и 33.33.33.33 соответственно.

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

Источник

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Настройка GRE туннеля на Cisco

Всем привет! Сегодня в статье мы расскажем про настройку Point-to-Point GRE VPN туннелей на оборудовании Cisco и о том, как сделать их защищенными при помощи IPsec. Generic Routing Encapsulation (GRE) — это протокол туннелирования, разработанный компанией Cisco, который позволяет инкапсулировать широкий спектр протоколов сетевого уровня в point-to-point каналах.

Онлайн курс по Кибербезопасности

Изучи хакерский майндсет и научись защищать свою инфраструктуру! Самые важные и актуальные знания, которые помогут не только войти в ИБ, но и понять реальное положение дел в индустрии

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

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

На приведенной ниже схеме показана процедура инкапсуляции простого незащищенного пакета GRE, проходящего через маршрутизатор и входящего в туннельный интерфейс:

Хотя многие могут подумать, что туннель GRE IPSec между двумя маршрутизаторами похож на VPN-соединение IPSec между сайтами, это не так. Основное отличие состоит в том, что туннели GRE позволяют multicast пакетам проходить через туннель, тогда как IPSec VPN не поддерживает multicast пакеты.

В больших сетях, где необходимы протоколы маршрутизации, такие как OSPF, EIGRP, туннели GRE — ваш лучший выбор. По этой причине, а также из-за того, что туннели GRE гораздо проще в настройке, инженеры предпочитают использовать GRE, а не IPSec VPN.

В этой статье объясняется, как создавать простые незащищенные (unprotected) и безопасные (IPSec encrypted) туннели GRE между конечными точками. Мы объясним все необходимые шаги для создания и проверки туннеля GRE (незащищенного и защищенного) и настройки маршрутизации между двумя сетями.

Создание Cisco GRE туннеля

Туннель GRE использует интерфейс «туннель» — логический интерфейс, настроенный на маршрутизаторе с IP-адресом, где пакеты инкапсулируются и декапсулируются при входе или выходе из туннеля GRE.

Первым шагом является создание нашего туннельного интерфейса на R1:

Все туннельные интерфейсы участвующих маршрутизаторов всегда должны быть настроены с IP-адресом, который не используется где-либо еще в сети. Каждому туннельному интерфейсу назначается IP-адрес в той же сети, что и другим туннельным интерфейсам.

В нашем примере оба туннельных интерфейса являются частью сети 172.16.0.0/24.

Поскольку GRE является протоколом инкапсуляции, мы устанавливаем максимальную единицу передачи (MTU — Maximum Transfer Unit) до 1400 байт, а максимальный размер сегмента (MSS — Maximum Segment Size) — до 1360 байт. Поскольку большинство транспортных MTU имеют размер 1500 байт и у нас есть дополнительные издержки из-за GRE, мы должны уменьшить MTU для учета дополнительных служебных данных. Установка 1400 является обычной практикой и гарантирует, что ненужная фрагментация пакетов будет сведена к минимуму.

В заключение мы определяем туннельный источник, который является публичным IP-адресом R1, и пункт назначения — публичный IP-адрес R2.

Как только мы завершим настройку R1, маршрутизатор подтвердит создание туннеля и сообщит о его состоянии:

Поскольку интерфейс Tunnel 0 является логическим интерфейсом, он останется включенным, даже если туннель GRE не настроен или не подключен на другом конце.

Далее мы должны создать интерфейс Tunnel 0 на R2:

Интерфейс туннеля R2 настроен с соответствующим IP-адресом источника и назначения туннеля. Как и в случае с R1, маршрутизатор R2 сообщит нам, что интерфейс Tunnel0 работает:

Маршрутизация сетей через туннель GRE

На этом этапе обе конечные точки туннеля готовы и могут «видеть» друг друга. Echo icmp от одного конца подтвердит это:

Опять же, этот результат означает, что две конечные точки туннеля могут видеть друг друга. Рабочие станции в любой сети по-прежнему не смогут достичь другой стороны, если на каждой конечной точке не установлен статический маршрут:

На R1 мы добавляем статический маршрут к удаленной сети 192.168.2.0/24 через 172.16.0.2, который является другим концом нашего туннеля GRE. Когда R1 получает пакет для сети 192.168.2.0, он теперь знает, что следующим переходом является 172.16.0.2, и поэтому отправит его через туннель.

Та же конфигурация должна быть повторена для R2:

Теперь обе сети могут свободно общаться друг с другом через туннель GRE.

Защита туннеля GRE с помощью IPSec

Как упоминалось ранее, GRE является протоколом инкапсуляции и не выполняет шифрование. Создание туннеля GRE точка-точка без какого-либо шифрования чрезвычайно рискованно, поскольку конфиденциальные данные могут быть легко извлечены из туннеля и просмотрены другими.

Для этого мы используем IPSec для добавления уровня шифрования и защиты туннеля GRE. Это обеспечивает нам необходимое шифрование военного уровня и спокойствие. Наш пример ниже охватывает режим туннеля GRE IPSec.

Настройка шифрования IPSec для туннеля GRE (GRE over IPSec)

Шифрование IPSec включает в себя два этапа для каждого маршрутизатора. Эти шаги:

  • Настройка ISAKMP (ISAKMP Phase 1)
  • Настройка IPSec (ISAKMP Phase 2)
Настройка ISAKMP (ISAKMP Phase 1)

IKE существует только для установления SA (Security Association) для IPsec. Прежде чем он сможет это сделать, IKE должен согласовать отношения SA (ISAKMP SA) с партнером.

Для начала, мы начнем работать над R1.

Первым шагом является настройка политики ISAKMP Phase 1:

Приведенные выше команды определяют следующее (в указанном порядке):

  • 3DES — метод шифрования, который будет использоваться на этапе 1 Phase 1
  • MD5 — алгоритм хеширования
  • Authentication pre-share — использование предварительного общего ключа в качестве метода проверки подлинности
  • Group 2 — группа Диффи-Хеллмана, которая будет использоваться
  • 86400 — время жизни ключа сеанса. Выражается в килобайтах или в секундах. Значение установлено по умолчанию.

Далее мы собираемся определить Pre Shared Key (PSK) для аутентификации с партнером R1, 2.2.2.10:

PSK ключ партнера установлен на merionet. Этот ключ будет использоваться для всех переговоров ISAKMP с партнером 2.2.2.10 (R2).

Создание IPSec Transform (ISAKMP Phase 2 policy)

Теперь нам нужно создать набор преобразований, используемый для защиты наших данных. Мы назвали это TS:

Вышеуказанные команды определяют следующее:

  • SP-3DES — метод шифрования
  • MD5 — алгоритм хеширования
  • Установите IPSec в транспортный режим.

Наконец, мы создаем профиль IPSec для соединения ранее определенной конфигурации ISAKMP и IPSec. Мы назвали наш профиль IPSec protect-gre:

Теперь мы готовы применить шифрование IPSec к интерфейсу туннеля:

Ну и наконец пришло время применить ту же конфигурацию на R2:

Проверка GRE over IPSec туннеля

Наконец, наш туннель был зашифрован с помощью IPSec, предоставляя нам столь необходимый уровень безопасности. Чтобы проверить и проверить это, все, что требуется, это попинговать другой конец и заставить туннель VPN IPSec подойти и начать шифрование/дешифрование наших данных:

Используя команду show crypto session, мы можем быстро убедиться, что шифрование установлено и выполняет свою работу:

Поздравляю! Мы только что успешно создали Point-to-point GRE over IPSec VPN туннель между двумя маршрутизаторами Cisco.

Полный курс по Сетевым Технологиям

В курсе тебя ждет концентрат ТОП 15 навыков, которые обязан знать ведущий инженер или senior Network Operation Engineer

Источник

Оцените статью