Как проверить gre туннель
Перейти к содержимому

Как проверить gre туннель

  • автор:

GRE — пример настройки и описание

GRE (Generic Routing Encapsulation) – протокол инкапсуляции, который широко применяется как сам по себе, так и в совокупности с IPSec для создания туннелей. Перед прочтением данной статьи рекомендуется ознакомиться со статьёй «Принципы организации VPN».

В этой статье мы будем настраивать GRE туннель. Сам по себе GRE не обеспечивает никакой безопасности передаваемых данных – это site-to-site VPN туннель в чистом виде. Используется обычно такой туннель, когда есть специфичные задачи, связанные с маршрутизацией и нет требований к безопасности. Не стоит забывать, что чистый GRE туннель – не нагружает оборудование, а нагрузка при шифровании большого объёма данных весьма существенна.

Протокол GRE инкапсулируется напрямую в IP, минуя TCP или UDP, в IP пакете есть специальное поле «Protocol type», в котором содержится число, обозначающее протокол, инкапсулированный в данный IP пакет, для GRE protocol type равен 47. В связи с этим, если в сети есть GRE туннели, то стоит внимательно относиться к написанию расширенных списков контроля доступа (ACL), так как permit tcp any any и permit udp any any приведут к запрету на GRE из-за того, что он инкапсулируется напрямую в пакет, надо писать либо permit ip any any либо permit gre any any.

Схема инкапсуляции GRE выглядит следующим образом:

Как видно, IP инкапсулируется в GRE, который инкапсулируется в IP. При этом заголовок GRE и заголовок внешнего IP пакета добавляют 24 байта, соответственно, уменьшая размер пакета на эту величину. В данном примере мы настраиваем IPv4 в GRE в IPv4, тем не менее, GRE может успешно работать с другими инкапсулируемыми и транспортными протоколами, например, IPv6.

Рассмотрим работающую топологию. Есть две локальный сети: LAN1 за маршрутизатором R1 с адресацией 192.168.0.0/24 и LAN2 – за маршрутизатором R3, с адресацией 192.168.1.0/24. В каждой сети есть по одному компьютеру. Между маршрутизаторами есть сети 1.0.0.0/8 и 2.0.0.0/8, а также маршрутизатор R2 – это в нашем примере интернет. Маршрутизация для простоты настроена с помощью протокола RIP.

Выполним трассировку с компьютера PC1 до компьютера PC2:

Tracing route to 192.168.1.2 over a maximum of 30 hops: 1 0 ms 0 ms 0 ms 192.168.0.1 2 0 ms 0 ms 0 ms 1.1.1.2 3 0 ms 0 ms 0 ms 2.2.2.2 4 1 ms 0 ms 0 ms 192.168.1.2

Как видно, пакет проходит через все маршрутизаторы последовательно, вплоть до компьютера адресата. Теперь создадим GRE туннель между R1 и R3 со внутренней адресацией 10.10.10.0/24.

R1(config)#interface tunnel 0 R1(config-if)# %LINK-5-CHANGED: Interface Tunnel0, changed state to up R1(config-if)#tunnel mode gre ip R1(config-if)#ip address 10.10.10.1 255.255.255.0 R1(config-if)#tunnel source FastEthernet0/1 R1(config-if)#tunnel destination 2.2.2.2 R1(config-if)# %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to up R1(config-if)#exit

Мы создали интерфейс Tunnel0, в нём указали с помощью ip address внутреннюю адресацию туннеля – тот есть это адреса инкапсулированного IP, а с помощью команд tunnel source и tunnel destination мы указали параметры транспортного протокола IP (внешнего). У нас появилась новая сеть, которая виртуально соединяет напрямую два маршрутизатора R1 и R3 (без лишнего хопа на R2). Настроим вторую сторону туннеля – на R3. Для примера создадим интерфейс Tunnel99:

R3(config)#interface tunnel 99 R3(config-if)# %LINK-5-CHANGED: Interface Tunnel99, changed state to up R3(config-if)#tunnel mode gre ip R3(config-if)#ip address 10.10.10.2 255.255.255.0 R3(config-if)#tunnel source FastEthernet0/0 R3(config-if)#tunnel destination 1.1.1.1 R3(config-if)# %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel99, changed state to up R3(config-if)#exit

Теперь выполним трассировку с маршрутизатора R1 противоположного конца туннеля – на R3:

R1#traceroute 10.10.10.2 Type escape sequence to abort. Tracing the route to 10.10.10.2 1 10.10.10.2 1 msec 0 msec 0 msec

Как видно, трассировка проходит внутри туннеля и мы не видим лишнего хопа в виде R2. Посмотрим таблицу маршрутизации на R1:

R1#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is not set C 1.0.0.0/8 is directly connected, FastEthernet0/1 R 2.0.0.0/8 [120/1] via 1.1.1.2, 00:00:12, FastEthernet0/1 10.0.0.0/24 is subnetted, 1 subnets C 10.10.10.0 is directly connected, Tunnel0 C 192.168.0.0/24 is directly connected, FastEthernet0/0 R 192.168.1.0/24 [120/2] via 1.1.1.2, 00:00:12, FastEthernet0/1

Видно, что новая сеть отображается, как непосредственно подключенная к интерфейсу Tunnel 0. Если сейчас попробовать сделать трассировку с компьютера 1 до компьютера 2, то она не пойдёт по туннелю. Это связано с тем, что на маршрутизаторе R1 нет соответствующего маршрута. Просматривая свою таблицу маршрутизации, R1 отправит пакеты на PC2 по маршруту «R 192.168.1.0/24 [120/2] via 1.1.1.2, 00:00:12, FastEthernet0/1», то есть как и раньше – в обход туннеля. Чтобы исправить ситуацию пропишем с двух сторон на R1 и R3 статические маршруты, в которых явно укажем, что в сети 192.168.0.0 и 192.168.1.0 надо доставлять трафик через туннель. На R1:

R1(config)#ip route 192.168.1.0 255.255.255.0 10.10.10.2
R3(config)#ip route 192.168.0.0 255.255.255.0 10.10.10.1 R3#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is not set R 1.0.0.0/8 [120/1] via 2.2.2.1, 00:00:05, FastEthernet0/0 C 2.0.0.0/8 is directly connected, FastEthernet0/0 10.0.0.0/24 is subnetted, 1 subnets C 10.10.10.0 is directly connected, Tunnel99 S 192.168.0.0/24 [1/0] via 10.10.10.1 C 192.168.1.0/24 is directly connected, FastEthernet0/1

Теперь, как видно из таблицы маршрутизации, трафик пойдёт через GRE туннель. Проверим это, выполнив трассировку с PC1 до PC2, как и в начале этой статьи:

tracert 192.168.1.2 Tracing route to 192.168.1.2 over a maximum of 30 hops: 1 0 ms 0 ms 0 ms 192.168.0.1 2 0 ms 0 ms 0 ms 10.10.10.2 3 1 ms 0 ms 1 ms 192.168.1.2 Trace complete.

Как видно, из результатов трассировки, теперь на пути всего два хопа: 192.168.0.1 – R1, шлюз PC1, который заворачивает трафик в туннель. Далее, транспортный (внешний) IP пакет с GRE внутри проходит на R2, затем на R3 и только тут из пакета декапсулируется внутренний IP – это и есть наш второй хоп – 10.10.10.2, затем пакет по локальной сети идёт адресату – на 192.168.1.2, если добавить в интернете ещё несколько маршрутизаторов, то трассировка не изменится, в ней по-прежнему будет два хопа до адресата. Пример конфигурации доступен в формате pkt.

Записки IT специалиста

Одна из наиболее часто решаемых системным администратором задач — объединение нескольких сетей в единое пространство, для обеспечения совместной работы с общими ресурсами (site-to-site). Обычно для этих целей используется VPN, тип которого большой роли не играет. Но именно для данной задачи более предпочтительно использовать IPIP или GRE-туннели, особенно если вам требуется хорошая пропускная способность соединения. В данной статье мы расскажем об особенностях настройки и использования данного вида подключений.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

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

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

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

Ни GRE, ни IPIP не используют порты, поэтому они не могут преодолеть NAT, это требует от обоих узлов иметь выделенные IP-адреса или находиться в одной сети. Проблема NAT частично снимается при использовании IPsec, за счет использования протокола NAT-T, но требование выделенных адресов узлов остается. Кроме того, по этой причине вы не сможете установить более одного GRE или IPIP-соединения между узлами.

Итак, подведем коротко итог: для использования GRE или IPIP-туннелей вам потребуются выделенные IP-адреса с обоих сторон и для защиты передаваемых данных обязательно использовать IPsec. Что касается оборудования, то предпочтительно использовать роутеры с аппаратной поддержкой шифрования — hEX, RB3011/4011 и все остальные модели на базе процессоров ARM. В этом случае вполне достижима пропускная способность туннеля на уровне 300-400 МБит/с. На остальных моделях роутеров (MIPSBE, SMIPS) вы получите не более 30-40 МБит/с. Подробнее об этом вы можете прочитать здесь.

Далее мы будем придерживаться следующей схемы:

mikrotik-gre-ip-ip-tunnels-001.png

Согласно которой у нас имеются две условные сети: A — 192.168.111.0/24, внешний IP-адрес 198.51.100.1 и B — 192.168.222.0/24, внешний адрес 203.0.113.1. Между ними мы будем поднимать GRE или IPIP-туннель с внутренними адресами 10.10.10.1 и 10.10.10.2.

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

Открываем Winbox и переходим в Interfaces — Interface где добавляем новый интерфейс с типом GRE Tunnel, в открывшемся окне заполняем поля: Local Address — внешний IP-адрес этого роутера, Remote Address — внешний IP-адрес противоположного роутера, IPsec Secret — общий ключ IPsec, рекомендуется использовать длинную случайную строку из цифр, букв в обоих регистрах и спецсимволов. Также обязательно снимите флаг Allow Fast Path.

mikrotik-gre-ip-ip-tunnels-002.png

В терминале это можно выполнить командой:

/interface gre
add allow-fast-path=no ipsec-secret=MyIP$ecret123 local-address=198.51.100.1 name=gre-tunnel1 remote-address=203.0.113.1

Полностью аналогичную настройку выполняем и на втором роутере, только меняем местами Local Address и Remote Address, после чего туннель должен перейти в рабочее состояние. За отслеживание состояние туннеля отвечает параметр Keepalive, по умолчанию он предполагает десять попыток с интервалов в 10 секунд, если за это время с противоположной стороны не будет получен ответ, то туннель будет считаться неработоспособным.

Важный момент связан с настройками IPsec, RouterOS использует для туннелей настройки по умолчанию и нет возможности это переопределить, поэтому на обоих роутерах профили default в IP — IPsec — Proposals и Profiles должны иметь одинаковые настройки.

mikrotik-gre-ip-ip-tunnels-003.png

В противном случае вы будете получать ошибку при согласовании параметров IPsec:

mikrotik-gre-ip-ip-tunnels-004.png

Если все сделано правильно, то в Interfaces — Interface напротив туннеля появится флаг R — running, что означает, что туннель находится в рабочем состоянии.

Настройка IPIP-туннеля

Настройка данного вида туннеля ничем не отличается от GRE, также переходим в Interfaces — Interface и добавляем новый интерфейс с типом IP Tunnel. Указываем все те же параметры: Local Address — внешний IP-адрес этого роутера, Remote Address — внешний IP-адрес противоположного роутера, IPsec Secret — общий ключ IPsec, также снимаем флаг Allow Fast Path.

mikrotik-gre-ip-ip-tunnels-005.png

В терминале это же действие:

/interface ipip
add allow-fast-path=no ipsec-secret=MyIP$ecret123 local-address=198.51.100.1 name=ipip-tunnel1 remote-address=203.0.113.1

Затем дублируем настройки на второй роутер, заменяя местами Local Address и Remote Address, также учитываем все то, что было сказано выше о настройках IPsec.

Настройка маршрутизации

Итак, туннель поднят, теперь нужно пустить в него трафик между сетями. Прежде всего присвоим адреса туннельным интерфейсам. Согласно схеме со стороны роутера А это будет 10.10.10.1, а со стороны роутера B — 10.10.10.2. Переходим в IP — Addresses и добавляем новый адрес: Address — 10.10.10.1/24 — именно так, с указанием префикса (/24, что соответствует маске 255.255.255.0), в противном случае сеть у вас работать не будет. В поле Interface указываем имя интерфейса GRE или IPIP-туннеля.

mikrotik-gre-ip-ip-tunnels-006.png

В терминале для этого же действия выполните команду:

/ip address
add address=10.10.10.1/24 interface=gre-tunnel1 network=10.10.10.0

Где вместо interface=gre-tunnel1 укажите имя собственного туннельного интерфейса.

Аналогичные настройки следует выполнить и на втором роутере.

Теперь приступим к указанию маршрутов, для роутера A нам нужно указать маршрут к сети 192.168.222.0/24 через туннель. Переходим в IP — Routes и создаем новый маршрут. В качестве Dst. Address указываем сеть назначения — 192.168.222.0/24, в поле Gateway указываем шлюз в эту сеть — противоположный конец туннеля, который имеет адрес 10.10.10.2, после того как мы нажмем Apply в поле рядом со шлюзом появится исходящий интерфейс, в качестве которого будет выступать наш туннель.

mikrotik-gre-ip-ip-tunnels-007.png

В терминале:

/ip route
add distance=1 dst-address=192.168.222.0/24 gateway=10.10.10.2

На втором роутере делаем аналогичные настройки с учетом IP-адреса роутера и сети назначения.

После чего пробуем получить из одной сети доступ к узлу другой. Если все сделано правильно, то попытка увенчается успехом.

mikrotik-gre-ip-ip-tunnels-008.png

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Дополнительные материалы:

Mikrotik
  1. Оборудование MikroTik класса SOHO. Общий обзор и сравнение возможностей
  2. Производительность младших моделей Mikrotik hEX и hAP. Экспресс-тестирование
  3. Базовая настройка роутера MikroTik
  4. Расширенная настройка DNS и DHCP в роутерах Mikrotik
  5. Автоматическое резервное копирование настроек Mikrotik на FTP
  6. Проброс портов и Hairpin NAT в роутерах Mikrotik
  7. Настройка IPTV в роутерах Mikrotik на примере Ростелеком
  8. Настройка VPN-подключения в роутерах Mikrotik
  9. Настройка черного и белого списков в роутерах Mikrotik
  10. Настройка выборочного доступа к сайтам через VPN на роутерах Mikrotik
  11. Настройка OpenVPN-сервера на роутерах Mikrotik
  12. Безопасный режим в Mikrotik или как всегда оставаться на связи
  13. Настройка Proxy ARP для VPN-подключений на роутерах Mikrotik
  14. Настраиваем Port Knocking в Mikrotik
  15. Резервирование каналов в Mikrotik при помощи рекурсивной маршрутизации
  16. Настраиваем родительский контроль на роутерах Mikrotik
  17. Настраиваем IKEv2 VPN-сервер на роутерах Mikrotik с аутентификацией по сертификатам
  18. Расширенная настройка Wi-Fi на роутерах Mikrotik. Режим точки доступа
  19. Mikrotik CHR — виртуальный облачный роутер
  20. Настройка контроллера CAPsMAN (бесшовный Wi-Fi роуминг) на Mikrotik
  21. Настройка VPN-подключения на роутерах Mikrotik если подсети клиента и офиса совпадают
  22. Настраиваем использование DNS over HTTPS (DoH) на роутерах Mikrotik
  23. Настройка PPTP или L2TP VPN-сервера на роутерах Mikrotik
  24. Установка Mikrotik CHR на виртуальную машину Proxmox
  25. Защита RDP от перебора паролей при помощи оборудования Mikrotik
  26. Настройка SSTP VPN-сервера на роутерах Mikrotik
  27. Настройка выборочного доступа к сайтам через VPN с автоматическим получением маршрутов по BGP на роутерах Mikrotik
  28. Особенности эксплуатации CA на роутерах Mikrotik: резервное копирование, экспорт и импорт сертификатов
  29. Настройка туннелей GRE и IPIP на роутерах Mikrotik
  30. Правильное использование Fast Path и FastTrack в Mikrotik
  31. DHCP Snooping — настройка защиты от неавторизованных DHCP-серверов на оборудовании Mikrotik
  32. Работа оборудования Mikrotik в режиме беспроводной станции (клиента)
  33. Используем режим ARP reply-only для повышения безопасности сети на оборудовании Mikrotik
The Dude
  1. The Dude. Установка и быстрое начало работы
  2. Централизованное управление обновлением RouterOS при помощи The Dude
  3. Централизованный сбор логов Mikrotik на сервер The Dude

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Подпишись на наш Telegram-канал

Или подпишись на наш Телеграм-канал:

Управление туннелированием

GRE (англ. Generic Routing Encapsulation — общая инкапсуляция маршрутов) — протокол туннелирования сетевых пакетов. Его основное назначение — инкапсуляция пакетов сетевого уровня сетевой модели OSI в IP-пакеты. GRE может использоваться для организации VPN на 3-м уровне модели OSI. В маршрутизаторе ESR реализованы статические неуправляемые GRE-туннели, то есть туннели создаются вручную путем конфигурирования на локальном и удаленном узлах. Параметры туннеля для каждой из сторон должны быть взаимосогласованными или переносимые данные не будут декапсулироваться партнером.

Алгоритм настройки

esr(config)# tunnel gre

– идентификатор туннеля в диапазоне:

  • для ESR-10/12V(F)/14VF – [1..10];
  • для ESR-20/21/100/200 – [1..250];
  • для ESR-1000/1200/1500
    /1511/1700/3100 – [1..500].

esr(config-gre )# ip vrf forwarding

esr(config-gre)# description

esr(config-gre)# local address

esr(config-gre)# local interface

esr(config-gre)# remote address

esr(config-gre)# mode

– режим инкапсуляции для GRE-туннеля:

  • ip – инкапсуляция IP-пакетов в GRE;
  • ethernet – инкапсуляция Ethernet-фреймов в GRE.

Значение по умолчанию: ip

esr(config-gre)# ip address

– IP-адрес и префикс подсети задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32].

Можно указать до 8 IP-адресов перечислением через запятую.

Дополнительные функции IPv4-адресации см. в разделе Настройка IP-адресации.

esr(config-gre)# bridge-group

– идентификационный номер моста, принимает значения в диапазоне:

  • для ESR-10/12V(F)/14VF – [1..50];
  • для ESR-20/21/100/200 – [1..250];
  • для ESR-1000/1200/1500
    /1511/1700/3100 – [1..500]

esr(config-gre)# security-zone

esr(config-gre)# ip firewall disable

Указать размер MTU (MaximumTransmitionUnit) для туннеля (не обязательно).
MTU более 1500 будет активно только если применена команда «system jumbo-frames»

esr(config-gre)# mtu

– значение MTU, принимает значения в диапазоне:

  • для ESR-10/12V(F)/14VF – [1280..9600];
  • для ESR-20/21 – [1280..9500];
  • для ESR-100/200/1000/1200/1500/1511/1700/3100 – [1280..10000].

Значение по умолчанию: 1500.

Указать значение времени жизни TTL для туннельных пакетов (не обязательно).

esr(config-gre)# ttl

– значение TTL, принимает значения в диапазоне [1..255].

Значение по умолчанию: Наследуется от инкапсулируемого пакета.

Указать DSCP для использования в IP-заголовке инкапсулирующего пакета (не обязательно).

esr(config-gre)# dscp

– значение кода DSCP, принимает значения в диапазоне [0..63].

Значение по умолчанию: наследуется от инкапсулируемого пакета.

Разрешить передачу ключа (Key) в туннельном заголовке GRE (в соответствии с RFC 2890) и установить значение ключа. Настраивается только с обеих сторон туннеля.
(не обязательно).

esr(config-gre)# key

– значение KEY, принимает значения в диапазоне [1..2000000].

Значение по умолчанию: ключ не передаётся.

Включить вычисление контрольной суммы и занесение её в GRE-заголовок отправляемых пакетов. При этом на удаленной стороне необходимо включить проверку контрольной суммы.
(не обязательно)

esr(config-gre)# local checksum

Включить проверку наличия и соответствия значений контрольной суммы в заголовках принимаемых GRE-пакетов. При этом на удаленной стороне необходимо включить вычисление контрольной суммы.
(не обязательно)

esr(config-gre)# remote checksum

Включить проверку доступности удаленного шлюза туннеля (не обязательно)

esr(config-gre)# keepalive enable

Изменить время ожидания keepalive пакетов от встречной стороны (не обязательно)

esr(config-gre)# keepalive timeout

– время в секундах, принимает значения в диапазоне [1..32767].

Значение по умолчанию: 10

Изменить количество попыток проверки доступности удаленного шлюза туннеля (не обязательно)

esr(config-gre)# keepalive retries

– количество попыток, принимает значения в диапазоне [1..255].

Значение по умолчанию: 5

Указать IP-адрес для работы механизма keepalive (обязательно в режиме ethernet)

esr(config-gre)# keepalive dst-address

Изменить интервал времени, за который усредняется статистика о нагрузке на туннеле (не обязательно)

esr(config-gre)# load-average

– интервал в секундах, принимает значения [5..150].

Значение по умолчанию: 5

Включить отправку snmp-trap о включении/отключении туннеля.

esr(config-gre)# snmp init-trap

Включить механизм перезапроса IP-адресов по протоколу DHCP на указанных интерфейсах при отключении GRE-туннеля по keepalive (не обязательно)

esr(config-gre)# keepalive dhcp dependent-interface

– физический/логический интерфейс, на котором включено получение IP-адреса по DHCP

Задать интервал времени между отключением GRE-туннеля и перезапросом IP-адреса на интерфейсе/интерфейсах, указанных командой keepalive dhcp dependent-interface (не обязательно)

esr(config-gre)# keepalive dhcp link-timeout

– интервал между отключением GRE-туннеля и перезапросом IP-адреса по DHCP на интерфейсах

esr(config-gre)# ip tcp adjust-mss

< MSS >– значение MSS , принимает значения в диапазоне [500..1460].

Значение по умолчанию: 1460

esr(config-gre)# history statistics

esr(config-gre)# enable

Также для GRE-туннеля возможно настроить:

  • QoS в базовом или расширенном режимах (см. раздел Управление QoS);
  • proxy (см. раздел Проксирование HTTP/HTTPS-трафика);
  • мониторинг траффика (см. разделы Настройка Netflow и Настройка sFlow);
  • функционал протоколов маршрутизации (см. раздел Управление маршрутизацией);
  • функционал BRAS (см. раздел Управление BRAS (Broadband Remote Access Server));

Пример настройки IP-GRE-туннеля

Задача:

Организовать L3-VPN между офисами компании через IP-сеть, используя для туннелирования трафика протокол GRE.

  • в качестве локального шлюза для туннеля используется IP-адрес 115.0.0.1;
  • в качестве удаленного шлюза для туннеля используется IP-адрес 114.0.0.10;
  • IP-адрес туннеля на локальной стороне 25.0.0.1/24.

Решение:

Предварительно на маршрутизаторах должны быть настроены интерфейсы для связи с сетью WAN разрешено получение пакетов протокола GRE из зоны безопасности, в которой работают интерфейсы, подключенные к сети WAN.

Создадим туннель GRE 10:

esr(config)# tunnel gre 10

Укажем локальный и удаленный шлюз (IP-адреса интерфейсов, граничащих с WAN):

esr(config-gre)# local address 115.0.0.1 esr(config-gre)# remote address 114.0.0.10

Укажем IP-адрес туннеля 25.0.0.1/24:

esr(config-gre)# ip address 25.0.0.1/24

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

esr(config-gre)# security-zone untrusted

Включим туннель:

esr(config-gre)# enable esr(config-gre)# exit

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

esr(config)# ip route 172.16.0.0/16 tunnel gre 10 

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

Опционально для GRE-туннеля можно указать следующие параметры:

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

esr(config-gre)# local checksum
esr(config-gre)# remote checksum
esr(config-gre)# key 15808
esr(config-gre)# dscp 44 esr(config-gre)# mtu 1426 esr(config-gre)# ttl 18
esr(config-gre)# keepalive enable esr(config-gre)# keepalive timeout esr(config-gre)# keepalive retries

Состояние туннеля можно посмотреть командой:

esr# show tunnels status gre 10

Счетчики входящих и отправленных пакетов можно посмотреть командой:

esr# show tunnels counters gre 10

Конфигурацию туннеля можно посмотреть командой:

esr# show tunnels configuration gre 10

Настройка туннеля IPv4-over-IPv4 производится аналогичным образом.

При создании туннеля необходимо в firewall разрешить протокол GRE (47).

Настройка DMVPN

DMVPN (Dynamic Multipoint Virtual Private Network) — технология для создания виртуальных частных сетей, с возможностью динамического создания туннелей между узлами. Преимуществом данного решения является высокая масштабируемость и легкость настройки при подключении филиалов к головному офису. DMVPN используется в топологии Hub-and-Spoke, и позволяет строить прямые VPN туннели Spoke-to-Spoke в дополнение к обычным Spoke-to-Hub туннелям. Это означает, что филиалы смогут общаться друг с другом напрямую, без необходимости прохождения трафика через Hub.

Чтобы установить такое соединение, клиенты (NHC) по шифрованному IPsec-туннелю отправляют соответствие своего внутреннего (туннельного) адреса и внешнего (NBMA) адреса на NHRP-сервер (NHS). Когда клиент захочет соединиться с другим NHC, он посылает на сервер запрос, чтобы узнать его внешний адрес. Получив ответ от сервера, клиент теперь самостоятельно может устанавливать соединение c удалённым филиалом.

Туннель GRE

Если в вашей компании имеется удаленный филиал, в котором также установлен ИКС, то для объединения локальных сетей безопасным способом наиболее подходящим решением будет настройка шифрованного туннеля между ними.

Для обеспечения безопасности передачи данных в туннеле используется IPSec . Защита передачи данных по туннелям позволяет избежать утечки информации и получения ложных данных.

В ИКС можно настроить подключение между серверами статическим туннелем по IPIP — или GRE -протоколу.

Обычно выбор типа туннеля зависит от промежуточных провайдеров, которые по каким-либо причинам могут блокировать трафик GRE или IPIP, что приводит к невозможности использования какого-то одного типа туннеля. Принципиальной разницы между данными типами туннелей нет.

Добавить туннель GRE можно в меню Сеть > Провайдеры и сети. Для этого выполните следующие действия:

  1. Нажмите кнопку «Добавить» и выберите «Туннели > Туннель GRE».
  2. На вкладке «Общие настройки» введите название туннеля.
  3. Выберите внешний интерфейс.
  4. Введите в соответствующих полях следующие адреса: внешний IP-адрес удаленного сервера, локальный IP-адрес туннеля, удаленный IP-адрес туннеля.
  5. На вкладке также можно задать локальные сети, удаленные сети и MTU .
  6. Если требуется, установите флаги:
    • «Автоматически создавать статический маршрут для удаленных сетей»;
    • «Использовать NAT ».
  7. При необходимости задайте ключ GRE. По умолчанию он не используется.
  8. На вкладке «Настройки шифрования» можно выбрать шифрование IPSec и установить его параметры. Внимание! Данную процедуру необходимо произвести на обоих концах туннеля, в противном случае передача данных работать не будет. Внимание! При использовании IPSec-шифрования в туннелях IPIP и GRE трафик будет проходить через интерфейс enc0 . Статистика на данном интерфейсе не собирается!
  9. На вкладке «Настройки мониторинга» можно установить флаги :
    • «Проверять наличие пинга внешнего IP-адреса удаленного сервера» — проверка, отвечает ли на ICMP -запросы внешний адрес удаленного сервера, который указан в общих настройках туннеля. Если пинг не будет проходить, в статусе туннеля отобразится соответствующее уведомление;
    • «Проверять наличие пинга удаленного IP-адреса туннеля» — проверка доступности удаленного IP-адреса туннеля;
    • «Проверять доступность серверов» — при установке флага укажите серверы, доступность которых будет проверяться.

По умолчанию все флаги сняты.

  • Нажмите «Добавить» — новый туннель появится в списке.
  • Аналогичные настройки необходимо произвести на другом конце туннеля.
  • Внимание! Для корректной работы туннеля необходимо, чтобы в межсетевом экране ИКС был разрешен GRE-трафик, а также разрешены входящие соединения с IP-адреса удаленного сервера.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *