Покрокова інструкція щодо об’єднання мереж за допомогою L2TP та L2TP

В епоху тотальної інформатизації всіх бізнес-процесів дедалі гостріше постає питання об'єднання віддалених офісів і філій між собою в єдину інформаційну мережу. Досить часто важливу роль відіграє можливість надання віддаленого доступу для співробітників з дому, або будь-якої точки земної кулі, де є доступ до Інтернету.

Об'єднання мереж ми розглядатимемо на прикладі обладнання компанії Mikrotik. Як тестовий сервер використовується маршрутизатор RB2011UiAS-RM, який є чудовим вибором для невеликих офісів та компаній, обмежених у бюджеті. Як кінцевий клієнт використовується одне з найдоступніших рішень – Mikrotik hAP lite (RB941-2n).

Завдяки своїй невисокій hAP lite можна з легкістю застосовувати в домашніх умовах, для підключення співробітників, що працюють віддалено. Хороший показник продуктивності дозволяє використовувати цього «малюка» навіть у малих офісах, де немає високих вимог.

Бувають ситуації, коли офіс та філії знаходяться у локальній мережі одного й того ж провайдера, що суттєво спрощує процес об'єднання мереж. Тим не менш, найчастіше філії територіально розмежовані і можуть перебувати на великій відстані один від одного.

Однією із найпопулярніших технологій для таких цілей можна вважати VPN – Virtual Private Network. Для реалізації VPN можна вдатися до кількох варіантів: PPTP, L2TP, OpenVPN, SSTP і т.д. PPTP морально застарів, а OpenVPN та SSTP підтримуються далеко не на всіх пристроях.

З цих причин, а також завдяки простоті налаштування та доступності на пристроях, що працюють під управлінням різних ОС, протокол L2TP (Layer 2 Tunnel Protocol) єодним із найпопулярніших протоколів тунелювання. Проблеми можуть виникати у разі знаходження клієнта через NAT, коли Firewall блокує пакети. Однак навіть у цьому випадку є рішення щодо обходу блокування. Один із недоліків L2TP – безпека, яка вирішується застосуванням IPSec. Другий і, мабуть, найважливіший недолік - продуктивність. При використанні IPSec відбувається подвійна інкапсуляція, що знижує продуктивність - це саме та ціна, яку доведеться заплатити за безпеку даних, що передаються.

Тестовий стенд

Для кращого розуміння налаштувань нижче наведено ілюстрацію, яка показує структуру мережі.

інструкція

покрокова

Налаштування сервера

інструкція

Створення профілів

Заходимо до розділу PPP, відкриваємо вкладку Profiles, тут необхідно створити профіль, який застосовуватиметься до VPN-підключень. Позначте опції Change TCP MSS, Use Compression, Use Encryption. За замовчуванням використовуватиметься шифрування MPPE 128 bit.

щодо

інструкція

Переходимо на вкладку Interface. Натискаємо L2TP Server, у вікні, що з'явилося, ставимо галочку Enabled і вибираємо профіль за замовчуванням, який ми створили раніше. Тип аутентифікації, за бажанням – залишити як є, або вибрати лише MS-CHAP v2.

Опцію IPsec залишаємо відключеною.

інструкція

Переходимо до Secrets, тут необхідно створити нового користувача VPN. Як Service вказуємо L2TP, тут же можна вказати профіль, що використовується.

інструкція

інструкція

Створення інтерфейсу

Для кожного користувача створюємо власний інтерфейс. Відкриваємо розділ інтерфейсів і натискаємо плюс, у випадаючому меню вибираємо L2TP Server Binding, вказуємо назву та ім'я користувача, що відображається. При підключенні користувача тут будевідображатиметься вся інформація.

покрокова

щодо

Налаштування файрволла

інструкція

інструкція

Для роботи VPN необхідно відкрити UDP порт 1701 (chain input, protocol 17 (udp), dst-port 1701, accept). Після цього необхідно підняти пріоритет правила, переміщуємо його вище.

інструкція

покрокова

Далі заходимо в NAT і додаємо маскарадинг для VPN (chain srcnat, від interface all ppp, action masquerade), це необхідно робити для того, щоб комп'ютери за роутером бачили один одного.

інструкція

щодо

покрокова

Додавання маршрутів

Прописуємо маршрут у віддалену підмережу. Кінцева підмережа 192.168.2.0/24, як шлюз виступає IP клієнта всередині віртуальної мережі, у нашому випадку це 10.50.0.11, target scope виставляємо одиницю, Pref. Source – локальний IP сервер всередині віртуальної мережі, 10.50.0.10.

інструкція

На цьому налаштування сервера завершено, розпочинаємо налаштування клієнтського підключення на другому пристрої.

інструкція

Налаштування клієнта

інструкція

щодо

щодо

інструкція

Застосовуємо, якщо все зроблено правильно – з'єднання має бути встановлене.

щодо

покрокова

покрокова

Пробуємо повторно виконати ping 192.168.1.1 – є.

щодо

Але комп'ютери за роутером ще не бачать дистанційну мережу.

щодо

Створюємо їм маскарадинг, аналогічний тому, що створено сервері. Як вихідний інтерфейс вказуємо наше VPN-підключення.

інструкція

покрокова

Ping пішов, отже, все працює. Вітаємо ваш тунель працює, а комп'ютери бачать один одного.

щодо

У нашому прикладі, як показало тестування, вдалося отримати канал із пропускною здатністю близько 50 Мбіт/сек.

щодо

нацьому базове налаштування завершено. При додаванні нових користувачів необхідно додавати відповідні маршрути на пристроях, де ви хочете, щоб пристрої за роутером бачили один одного. При прокиданні маршруту між Client1 і Client2 на самому сервері нічого робити не потрібно. Достатньо прописати маршрути на клієнтах, як шлюз виступатиме IP опонента у віртуальній мережі.

Налаштування L2TP + IPSec

Іноді практично необхідно забезпечити належний рівень безпеки. При використанні L2TP доцільно використовувати IPSec. Як приклад використовується мережа, налаштована за вищевикладеною інструкцією.

Якщо ж ви хочете створити IPSec-тунель між WAN сервером і WAN клієнтом, необхідно, щоб у клієнта був білий зовнішній IP. Якщо IP буде динамічним, вам потрібно буде використовувати різні скрипти для зміни політик IPSec. До того ж, у разі IPSec між зовнішніми IP, необхідність L2TP зовсім відпадає.

Налаштування на сервері

Насамперед заходимо в NAT і відключаємо маскарадинг для PPP, якщо цього не зробити, пакети шифруватися не будуть. Необхідне перезавантаження маршрутизатора.

щодо

Заходимо до розділу IP – IPSec, відкриваємо вкладку Proposals. Тут нам необхідно вказати тип шифрування та аутентифікації. Алгоритм аутентифікації вибираємо sha1, для оптимального шифрування буде використовувати алгоритм AES 128-біт. При необхідності можна також вказати 3DES (Triple DES), він є алгоритмом за замовчуванням для L2TP/IPSec в Windows 7, в той час, як для мобільних ОС доцільним може бути застосування AES 256-біт.

покрокова

Зазначаємо опції Send Initial Contact та NAT Traversal. Останню опцію можна і не відзначати, якщо ви точно впевнені, що клієнт не перебуває за NAT-провайдером. Generatepolicy вибираємо port strict. Інші опції ви можете подивитися на скріншоті.

інструкція

інструкція

інструкція

На цьому в принципі все, потрібно також зайти до Firewall і додати правила для портів, що використовуються. Порт UDP 1701 використовується для початкової ініціалізації та конфігурації. UDP 500 використовується в L2TP/IPSec для ініціалізації обміну ключами. Протокол 50 – IPSec ESP, який використовується для шифрування даних. Іноді необхідно також відкривати порт UDP 4500 для обходу NAT.

Налаштування клієнта

В першу чергу, додаємо правила файрволу та відключаємо маскарадинг для нашого VPN-підключення.

інструкція

покрокова

У розділі IP-IPSec необхідно налаштувати Proposal аналогічно тому, як це зроблено на сервері.

щодо

покрокова

покрокова

покрокова

Якщо ви все зробили правильно, у вкладці Remote Peers у вас з'явиться список бенкетів і порти, що використовуються.

щодо

Тепер необхідно відкрити вкладку Installed SAs, тут слід звернути особливу увагу на значення Current Bytes – якщо вона дорівнює нулю, то пакети не шифруються.

інструкція

У файрволлі ви можете переглянути рухи трафіку.

інструкція

щодо

Що ж до завантаження процесора, у мінімальному навантаженні каналу для RB2011UiAS-RM вона піднялася до 9-13%.

щодо

Перевірка продуктивності L2TP/IPSec

інструкція

Настав час перевірити продуктивність каналу, адже у випадку L2TP/IPSec відбувається подвійна інкапсуляція, що створює навантаження на центральний процесор.

В однопоточному тесті, продуктивність нашого каналу між RB2011UiAS-RM та RB941-2n впала до 17 Мбіт/сек. Якщо збільшити кількість потоків до 10, можна досягти швидкості 19 Мбіт/сек.

покрокова

покрокова

Завантаження процесора обох пристроїв становить 95%, що чимало. Це та ціна, яку доводиться платити за безпеку даних, що передаються.

інструкція

інструкція

Для отримання високої продуктивності по L2TP/IPSec слід купувати обладнання вищого рівня або збирати маршрутизатор на PC + RouterOS. Якщо ви вибираєте варіант покупки продуктивного маршрутизатора, зверніть увагу на наявність апаратного блоку шифрування, що суттєво збільшить продуктивність.