VPN рівня L2 проти тунелю L3: п'ять перевірок перед об'єднанням майданчика
Тунель L3 відкидає заголовок Ethernet, тому ARP, PXE і протоколи поза IP перестають працювати. П'ять перевірок допоможуть вирішити, чи справді потрібні кадри.
Ви об'єднуєте майданчик, бо якийсь інструмент наполягає, що він має бути в тій самій мережі, а через три тижні о другій годині ночі читаєте журнали комутатора. Така інтуїція вирішує долю занадто багатьох каналів Ethernet-over-IP. Тут справді важлива лише одна відмінність: чи передаються цілі кадри від краю до краю, чи лише IP-пакети. Виконайте п'ять перевірок нижче по порядку і зупиніться на першій, яка не пройде.
Перевірте, що застосунок насправді кладе в мережу
Перш ніж у розмові з'явиться будь-яка назва продукту, запишіть хвилину трафіку, який має перетнути канал: tcpdump -i eth0 -nn -e 'not ip'. Цей параметр -e друкує заголовок канального рівня, і саме цю частину відкидає маршрутизований тунель. Якщо запис залишиться порожнім, застосунок говорить IP, і тунель L3 переносить його без змін. Якщо кадри все ж з'являться, запишіть EtherType, бо 0x0806 — це ARP, 0x88cc — LLDP, а значення виробника зазвичай означає протокол виявлення без резервного варіанта через IP. Саме в цей момент звичайний tun інтерфейс перестає бути достатнім.
Повторіть запис і на віддаленому боці. Кадр, який існує лише всередині віртуального комутатора одного хоста, не є причиною розтягувати широкомовний домен через WAN.
Перевірте, чи має виявлення перетинати канал
Маршрутизований тунель не має спільного сегмента, тому ніщо, адресоване групі, не досягає іншого кінця. ARP, широкомовні розсилки DHCP, mDNS на 224.0.0.251, SSDP і запити імен NetBIOS — усі припускають канал, який кілька хостів чують одночасно.
Запитайте, від яких із них застосунок справді залежить і чи вже є для них проксі. Ретранслятор DHCP, відображення mDNS і статичні записи ARP кожен прибирають по одній залежності, і кожен є ще одним сервісом, який треба запускати й відстежувати. Коли залишаються два або три, об'єднання — чесна відповідь.
Перевірте, скільки вам коштує додатковий заголовок
Кадрам потрібне місце для життя, тому все, що ви надсилаєте, отримує другий стек заголовків навколо себе. В оверлеї VXLAN це означає зовнішній заголовок IP, заголовок UDP і 8-байтовий заголовок VXLAN, що виштовхує повнорозмірне корисне навантаження в 1,500 байтів за межі MTU шляху звичайного інтернет-каналу в 1,500 байтів. OpenVPN у режимі tap додає власні накладні витрати в тому ж напрямку. Без меншого MTU із внутрішнього боку ви отримаєте канал, який відповідає на ping і застрягає на першій великій передачі.
Рахунок не закінчується на байтах заголовка. Широкомовний і груповий трафік, який комутатор обробляє в апаратному забезпеченні, тепер іде через WAN, і кожен об'єднаний майданчик успадковує той самий план адрес, ту саму область DHCP і ту саму поведінку з дубльованими адресами. Це робить канал значно складнішим для аудиту, ніж маршрутизований пул з одним префіксом на майданчик.
Порахуйте, перш ніж обирати. Завантажений сегмент, реплікований на три майданчики, може переносити більше широкомовного трафіку, ніж ті передачі файлів, для яких він побудований.
Перевірте, який саме тип L2 VPN вам пропонують
Сам термін неоднозначний, і ця неоднозначність визначає, хто переносить ваш трафік. Іноді він описує корисне навантаження: кадри Ethernet усередині IP, надіслані через інтернет, як будь-який інший тунель, як це роблять VXLAN, ZeroTier і режим tap OpenVPN. Іноді він описує куплену послугу: канал Ethernet від оператора або псевдодріт MPLS, що з'єднує два майданчики всередині однієї мережі провайдера.
Обидва дають вам сегмент, тому застосунок не може їх розрізнити, але операційна різниця велика. Оверлей залишає вам відповідальність за MTU, шифрування і шлях нижче. Послуга оператора бере це на себе та стягує плату, і вона взагалі не маршрутизуватиме ваші кадри через публічний інтернет. Який із них вам потрібен, залежить від того, чи два майданчики ділять оператора, чи лише компанію.
Перевірте дешевший обхідний шлях перед об'єднанням
Більшість запитів на об'єднаний канал походить від одного зламаного пошуку імен, а не від протоколу, якому справді потрібні кадри. Спершу пропустіть розв'язувач і пошуковий домен через маршрутизований тунель: dhcp-option DNS 10.8.0.1 разом із dhcp-option DOMAIN internal.example у конфігурації сервера OpenVPN вирішує напрочуд багато з них. Локальний переспрямовувач на віддаленому боці робить ту саму роботу, не переміщуючи жодного широкомовного трафіку.
Якщо один старий інструмент усе ще не працює, поставте його за проксі або проміжний хост у цільовому сегменті. Один переспрямовувач TCP дешевший в експлуатації, ніж об'єднаний WAN.
Закрийте рішення по порядку: чи несе трафік EtherType, не пов'язаний з IP, чи має виявлення перетинати канал, чи може MTU поглинути додаткові заголовки, чи справді доступний канал оператора і чи провалився маршрутизований обхідний шлях із причини, яку ви можете назвати? «Ні» на будь-якому кроці завершує суперечку на користь тунелю, який у вас уже є. Додайте запис і список EtherType до запису про зміну, бо наступна людина поставить те саме питання і не захоче повторювати вимірювання.