Skip to main content

Руководство пользователя

Настройка туннелей IPIP, GRE и EoIP

Общая информация

IPIP (IP in IP) — один из самых простых в настройке туннелей. Данный протокол инкапсулирует только unicast IPv4-трафик.

GRE (Generic Routing Encapsulation) позволяет инкапсулировать практически любые типы сетевых протоколов и поддерживает широковещательный трафик. Туннели GRE совместимы с аппаратными шлюзами безопасности, маршрутизаторами Mikrotik, Linux-роутерами, а также с оборудованием, которое умеет работать с GRE (например, Cisco, Juniper и др).

IPIP и GRE-туннели — это туннели сетевого уровня (L3) модели OSI, при создании которых доступны IP-адреса обеих сторон. Через них можно настраивать маршрутизацию (в том числе и маршруты по умолчанию) точно также, как и через любые другие интерфейсы.

EoIP-туннель (Ethernet over IP) — это туннель канального уровня (L2) модели OSI, поверх сетевого уровня (L3). Данные через EoIP-туннель передаются на уровне Ethernet-кадров. EoIP позволяет создать прозрачную сетевую среду, эмулирующую прямое Ethernet-подключение между сетями. При этом видны все MAC-адреса, и можно объединить две локальные сети на канальном уровне (L2) через Интернет при помощи этого типа туннеля. В качестве транспорта EoIP использует GRE. EoIP-туннель может работать поверх IPIP, Wireguard и любых других соединений, способных передавать IP-пакеты. Через него кроме IP можно передавать любой трафик, в том числе и ARP, DHCP, PPPoE, IPv6 и др. По умолчанию в туннеле будет работать сканирование подсети посредством ARP.

Важно

Туннели IPIP, GRE, EoIP относятся к типу "точка-точка" (point-to-point). Оба участника туннеля должны иметь публичные "белые" IP-адреса или находиться в одной сети (между ними не должно быть трансляции адресов NAT).

В простом виде, никаких механизмов безопасности для этих туннелей не предусмотрено (отсутствуют механизмы шифрования и аутентификации).

Туннели IPIP, GRE и EoIP работают без сохранения состояния соединения (их называют stateless или connectionless), то есть невозможно понять находится ли в работоспособном состоянии туннель или нет. Можно только настроить обе стороны и после этого проверить передачу данных.

Подготовка к настройке

Для возможности настройки подключения по протоколам IPIP, GRE и EoIP должны быть установлены компоненты VPN-туннели IP-IP, VPN-туннели GRE и VPN-туннели EoIP.

IPIP_GRE_EoIP_01_Components.png

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

Важно

При организации IPIP и GRE туннелей для объединения двух разных подсетей, необходимо, чтобы адреса этих подсетей не пересекались. Например, на одном конце туннеля должна быть подсеть 192.168.0.0/24, на другом 192.168.1.0/24.

Для корректной маршрутизации подсети в туннель на роутере эта подсеть не должна использоваться на каком-либо другом интерфейсе.

Пример настройки туннелей IPIP и GRE в простом виде

Туннели IPIP и GRE настраиваются идентично. Различие в том, что IPIP работает только через протокол IPv4, GRE может использовать и другие протоколы. Также GRE, наподобие TCP, может подтверждать получение пакетов.

Рассмотрим пример создания туннеля IPIP для одностороннего доступа между основными сегментами на двух роутерах. На локальном роутере основной сегмент имеет подсеть 192.168.0.0/24, на удаленном - 192.168.1.0/24.

  1. На локальном роутере перейдите в раздел меню Интернет на страницу Другие подключения и под IP туннели нажмите на Добавить подключение.

    IPIP_GRE_EoIP_02_CreateConnection.png

    Настройте туннель, указав в поле IP-адрес свободный адрес из диапазона частных "серых" IP-адресов. В нашем примере будет адрес 192.168.255.1. В поле Удаленная сторона укажите адрес внешнего интерфейса (публичный IP-адрес) удаленного роутера.

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

    IPIP_GRE_EoIP_04_IPIP_settings2.png
  3. На локальном роутере в разделе меню Сетевые правила на странице Маршрутизация добавьте маршрут по кнопке Добавить.

    В маршруте укажите подсеть основного сегмента сети удаленного роутера (192.168.1.0, маска подсети 255.255.255.0). В поле Интерфейс выберите название настраиваемого туннеля. Поставьте галочку для опции Добавлять автоматически.

    IPIP_GRE_EoIP_06_IPIP_Route.png
  4. На удаленном роутере в разделе меню Сетевые правила на странице Межсетевой экран нажмите на Добавить правило.

    В правиле выберите Интерфейс настраиваемого туннеля, а затем укажите IP-адрес назначения до подсети основного сегмента на этом роутере (192.168.1.0, маска подсети 255.255.255.0). Протокол для упрощения выберите IPV4 (ранее IP), который содержит необходимые для большинства задач протоколы: TCP, UDP, а также ICMP (Ping).

    IPIP_GRE_EoIP_08_IPIP_FirewallRule.png
  5. Включите созданные подключения IPIP или GRE на обеих сторонах, переведя переключатель в состояние Включено, и подождите некоторое время для установки подключения. Обычно это занимает меньше минуты.

    IPIP_GRE_EoIP_09.png
  6. Для проверки работы туннеля выполните отправку ICMP-пакетов (Ping) до клиента сети удаленного роутера.

    IPIP_GRE_EoIP_10_ping.png

Подсказка

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

Пример настройки туннеля EoIP в простом виде

Главное применение EoIP — объединение подсетей в одну единую на канальном уровне (L2).

Рассмотрим пример объединения основных сегментов сети на двух роутерах.

В данном примере на главном роутере в основном сегменте настроен IP-адрес 192.168.0.1. Основной сегмент удаленного роутера будет объединяться с сегментом локального роутера.

Важно

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

Подсказка

Производить отключение DHCP-сервера и/или смену IP-адреса в сегменте рекомендуется при подключении к другому сегменту роутера или удаленно через CrazeDNS.

Отключение DHCP-сервера в сегменте, к которому подключено устройство, приведёт к потере доступа к веб-конфигуратору роутера на этом сегменте.

Чтобы возобновить доступ при отключенном DHCP-сервере, необходимо в сетевых настройках устройства вручную установить свободный IP-адрес из той же подсети.

  1. На одном из роутеров установите свободный IP-адрес из подсети другого роутера, с которой происходит объединение и отключите DHCP-сервер. В данном примере устанавливается IP-адрес 192.168.0.2 и отключается DHCP-сервер на удаленном роутере. Изменить IP-адрес и отключить DHCP-сервер можно в разделе меню Мои сети и Wi-Fi на странице Сегменты в настройках конкретного сегмента.

    IPIP_GRE_EoIP_11_EoIP_DisableDHCP.png
  2. На локальном роутере перейдите в раздел меню Интернет на страницу Другие подключения и под IP туннели нажмите на Добавить подключение.

    IPIP_GRE_EoIP_02_CreateConnection.png

    Выберите протокол EoIP. В поле EoIP ID понадобится указать одинаковое значение на обеих сторонах туннеля. Поставьте галочку для опции Включить в сегмент и ниже выберите основной сегмент. В поле Удаленная сторона укажите адрес внешнего интерфейса (публичный IP-адрес) удаленного роутера.

    IPIP_GRE_EoIP_12_EoIP_settings1.png
  3. На удаленном роутере сделайте аналогичную настройку туннеля, но в поле Удаленная сторона укажите адрес внешнего интерфейса локального роутера.

    IPIP_GRE_EoIP_13_EoIP_settings2.png
  4. Включите созданные подключения EoIP на обоих роутерах, переведя переключатель в состояние Включено.

    IPIP_GRE_EoIP_14_EoIP_EnableConnection.png

Если соединение установилось успешно, то в разделе меню Мои сети и Wi-Fi на странице Списки клиентов появятся устройства, которые подключены к основному сегменту удалённого роутера.

IPIP_GRE_EoIP_15_EoIP_clients.png
Добавление шифрования IPsec

На странице Другие подключения в разделе IP туннели нажмите на необходимый туннель IPIP, GRE или EoIP и в настройках туннеля поставьте галочку для опции Включить IPsec. Включать данную опцию нужно на обеих сторонах туннеля.

Примечание

При включении IPsec у туннеля должен уменьшиться Размер MTU. Если он был установлен вручную, то понадобится его скорректировать.

Значение в поле Общий ключ должно совпадать с обеих сторон.

Опция Форсировать UDP может понадобиться, если одна из сторон находится за NAT с настроенным пробросом портов для этой стороны. Если необходимо использовать данную опцию, то включена она должна быть с обеих сторон туннеля.

Включите IKEv2. Значение в поле ID интерфейса должно быть одинаковым на обеих сторонах.

Для корректной работы туннеля на одной из сторон включите опцию Ждать подключения удаленного пира. При включенном IPsec инициатором подключения должна быть только одна из сторон.

IPIP_GRE_EoIP_16_SettingIPsec.png

Примечание

Туннели на базе EoIP/IPSec и GRE/IPSec несовместимы с PPTP-подключениями из-за использования одного и того же протокола GRE. В этом случае остается использовать всего лишь один доступный вариант: IPIP/IPsec.