Налаштування тунелів IPIP, GRE та EoIP
Загальна інформація
IPIP (IP в IP) є одним з найпростіших у налаштуванні тунелів. Цей протокол інкапсулює лише одноадресний трафік 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 є тунелями «точка-точка». Обидва кінці тунелю повинні мати публічні IP-адреси або перебувати в одній мережі (між ними не повинно бути трансляції адрес NAT).
У базовій конфігурації для цих тунелів не передбачено жодних заходів безпеки (немає механізмів шифрування чи автентифікації).
Тунелі IPIP, GRE та EoIP працюють без підтримки стану з'єднання (їх називають stateless або connectionless), що означає, що неможливо визначити, чи працює тунель. Єдиний варіант — налаштувати обидва кінці, а потім перевірити передачу даних.
Підготовка до налаштування
Для налаштування з’єднань за протоколами IPIP, GRE та EoIP, мають бути встановлені компоненти «Тунелі VPN IP-IP», «Тунелі VPN GRE» та «Тунелі VPN EoIP».

Як приклад налаштування з'єднань 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.
На вашому локальному маршрутизаторі перейдіть до розділу меню «Інтернет», відкрийте сторінку «Інші з'єднання» та під «IP тунелі» натисніть «Створити підключення».

Налаштуйте тунель, ввівши доступну адресу з діапазону приватних IP-адрес у поле «IP-адреса». У нашому прикладі ми використаємо адресу
192.168.255.1. У полі «Віддалене призначення» введіть адресу зовнішнього інтерфейсу віддаленого маршрутизатора (публічну IP-адресу).
На віддаленому маршрутизаторі додайте та налаштуйте тунель, вказавши доступну адресу в полі «IP-адреса» з тієї ж приватної IP-підмережі, що ви використовували на локальному маршрутизаторі, наприклад,
192.168.255.2. У полі «Віддалене призначення» введіть адресу зовнішнього інтерфейсу локального маршрутизатора.
На локальному маршрутизаторі в розділі меню «Мережеві правила» перейдіть на сторінку «Маршрутизація» та додайте маршрут, натиснувши кнопку «Створити».
У маршруті вкажіть підмережу основного сегмента віддаленого маршрутизатора (
192.168.1.0, маска підмережі255.255.255.0). У полі «Інтерфейс» виберіть назву тунелю, який ви налаштовуєте. Поставте прапорець «Додавати автоматично».
На віддаленому маршрутизаторі в розділі меню «Мережеві правила» перейдіть на сторінку «Міжмережевий екран» та натисніть «Додати правило».
У правилі виберіть «Інтерфейс» для налаштовуваного тунелю, а потім вкажіть «IP-адресу призначення» для підмережі основного сегмента на цьому маршрутизаторі (
192.168.1.0, маска підмережі255.255.255.0). Для простоти виберітьIPV4(ранішеIP) як «Протокол», який включає протоколи, необхідні для більшості завдань: TCP, UDP та ICMP (Ping).
Увімкніть створені вами з’єднання IPIP або GRE, встановивши перемикач у положення «Увімк.» з обох боків, і зачекайте деякий час, доки з’єднання не буде встановлено. Зазвичай це займає менше хвилини.

Щоб перевірити, чи працює тунель, надішліть пакети ICMP (Ping) клієнту в мережі віддаленого маршрутизатора.

Підказка
Якщо вам потрібен двонаправлений доступ між цими сегментами, налаштуйте маршрутизацію та міжмережевий екран однаково з обох боків.
Приклад налаштування базового тунелю EoIP
Основне використання EoIP — це об'єднання підмереж в єдину мережу на канальному рівні (L2).
Розглянемо приклад з'єднання основних сегментів мережі за допомогою двох маршрутизаторів.
У цьому прикладі IP-адреса 192.168.0.1 призначена основному сегменту на локальному маршрутизаторі. Основний сегмент віддаленого маршрутизатора буде об'єднано з сегментом локального маршрутизатора.
Важливо
Оскільки мережі будуть об'єднані на канальному рівні (L2), DHCP-сервер на одному з маршрутизаторів в об'єднаному сегменті має бути вимкнений. В іншому випадку наявність двох активних DHCP-серверів призведе до конфліктів IP-адрес і нестабільної роботи мережі.
Підказка
Рекомендується вимкнути DHCP-сервер та/або змінити IP-адресу в сегменті під час підключення до іншого сегмента на тому ж маршрутизаторі або віддалено через KeenDNS.
Вимкнення DHCP-сервера в сегменті, до якого підключено пристрій, призведе до втрати доступу до вебінтерфейсу маршрутизатора в цьому сегменті.
Щоб відновити доступ при вимкненому DHCP-сервері, необхідно вручну встановити вільну IP-адресу з тієї ж підмережі в мережевих налаштуваннях пристрою.
На одному з маршрутизаторів встановіть вільну IP-адресу з підмережі іншого маршрутизатора, до якого ви підключаєтесь, і вимкніть DHCP-сервер. У цьому прикладі встановлено IP-адресу
192.168.0.2, а DHCP-сервер вимкнено на віддаленому маршрутизаторі. Ви можете змінити IP-адресу та вимкнути DHCP-сервер у розділі меню «Мої мережі та Wi-Fi» на сторінці «Сегменти» в налаштуваннях конкретного сегмента.
На локальному маршрутизаторі перейдіть до розділу меню «Інтернет», відкрийте сторінку «Інші з'єднання» та під «IP тунелі» натисніть «Створити підключення».

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

На віддаленому маршрутизаторі налаштуйте аналогічний тунель, але в полі «Віддалене призначення» введіть адресу зовнішнього інтерфейсу локального маршрутизатора.

Увімкніть створені вами з'єднання EoIP, встановивши перемикач у положення «Увімк.» на обох маршрутизаторах.

Якщо з'єднання було встановлено успішно, пристрої, підключені до основного сегмента віддаленого маршрутизатора, з'являться в розділі меню «Мої мережі та Wi-Fi» на сторінці «Списки клієнтів».

Додавання шифрування IPsec
На сторінці «Інші з'єднання», під розділом «IP тунелі», натисніть на потрібний тунель IPIP, GRE або EoIP, і в налаштуваннях тунелю встановіть прапорець «Увімкнути IPsec». Ця опція має бути увімкнена на обох кінцях тунелю.
Примітка
Коли IPsec увімкнено, розмір MTU тунелю має зменшитися. Якщо він був встановлений вручну, вам потрібно буде його скоригувати.
Значення в полі «Загальний ключ» повинно збігатися з обох боків.
Опція «Форсувати UDP» може знадобитися, якщо одна зі сторін знаходиться за NAT з налаштованою переадресацією портів. Якщо вам потрібно використовувати цю опцію, вона має бути увімкнена на обох кінцях тунелю.
Увімкніть IKEv2. Значення в полі «Ідентифікатор інтерфейсу» має бути однаковим з обох боків.
Щоб забезпечити належну роботу тунелю, увімкніть опцію «Очікувати з’єднання від віддаленого піру» на одній стороні. Коли IPsec увімкнено, лише одна сторона повинна ініціювати з'єднання.

Примітка
Тунелі на базі EoIP/IPSec та GRE/IPSec несумісні зі з'єднаннями PPTP, оскільки вони використовують той самий протокол GRE. У цьому випадку є лише один доступний варіант: IPIP/IPSec.