В епоху тотальної інформатизації всіх бізнес-процесів дедалі гостріше постає питання об'єднання віддалених офісів і філій між собою в єдину інформаційну мережу. Часто важливу роль відіграє можливість надання віддаленого доступу для співробітників з дому, або будь-якої точки земної кулі, де є доступ в Інтернет.
Об'єднання мереж ми розглядатимемо на прикладі обладнання компанії 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 відбувається подвійна інкапсуляція, що знижує продуктивність - це саме та ціна, яку доведеться заплатити за безпеку даних, що передаються.
Тестовий стенд
Для кращого розуміння налаштувань нижче наведено ілюстрацію, яка показує структуру мережі.
Як інтернет-провайдер виступає маршрутизатор RB951Ui-2HnD , який видає пристроям IP у підмережі 192.168.106.0/24. Насправді ж у вас будуть інші IP-адреси на WAN-інтерфейсах.
Налаштування сервера
Отже, на головному сервері має бути статична біла зовнішня IP-адреса, як приклад у нас це 192.168.106.246. Наявність статики важлива т.к. адреса не повинна змінюватися, інакше доведеться вдаватися до зайвих дій і використовувати DNS-ім'я.
Створення профілів
Заходимо до розділу 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, тут же можна вказати профіль, що використовується.
Локальна адреса вказується 10.50.0.10, віддалена – 10.50.0.11. При необхідності створюємо потрібну кількість користувачів. Для кожного користувача локальний IP буде однаковим, віддалений IP збільшуємо на одиницю (тобто 10.50.0.12, 10.50.0.13 тощо). Можна, звичайно, вдатися до використання пулу адрес, але зі статикою вам простіше буде писати маршрути.
Створення інтерфейсу
Для кожного користувача створюємо власний інтерфейс. Відкриваємо розділ інтерфейсів і натискаємо плюс, у меню вибираємо 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.
На цьому налаштування сервера завершено, розпочинаємо налаштування клієнтського підключення на другому пристрої.
Налаштування клієнта
Відкриваємо розділ інтерфейсів і додаємо новий L2TP Client, вказуємо IP-адресу сервера та свої облікові дані, за замовчуванням вибираємо профіль із шифруванням та знімаємо галочку з дефолтного маршруту.
Застосовуємо, якщо все зроблено правильно – з'єднання має бути встановлене.
Пробуємо пінгувати 192.168.1.1 і він, звичайно ж, відповідати не буде. Додаємо новий статичний маршрут – віддалена підмережа 192.168.1.0/24, як шлюз IP-сервера у віртуальній мережі, Pref. Source – наш IP у віртуальній мережі. Тобто. на клієнті всі адреси проставляються навпаки.
Пробуємо повторно виконати ping 192.168.1.1 – є.
Але комп'ютери за роутером ще не бачать дистанційну мережу.
Створюємо їм маскарадинг, аналогічний тому, що створено сервері. Як вихідний інтерфейс вказуємо наше VPN-підключення.
Ping пішов, отже, все працює. Вітаємо ваш тунель працює, а комп'ютери бачать один одного.
У нашому прикладі, як показало тестування, вдалося отримати канал із пропускною здатністю близько 50 Мбіт/сек.
На цьому базове налаштування завершено. При додаванні нових користувачів необхідно додавати відповідні маршрути на пристроях, де ви хочете, щоб пристрої за роутером бачили один одного. При прокиданні маршруту між Client1 і Client2 на самому сервері нічого робити не потрібно. Достатньо прописати маршрути на клієнтах, як шлюз виступатиме IP опонента у віртуальній мережі.
Налаштування L2TP + IPSec
Іноді практично необхідно забезпечити належний рівень безпеки. При використанні L2TP доцільно використовувати IPSec. Як приклад використовується мережа, налаштована за вищевикладеною інструкцією.
Зверніть увагу! IPSec створюється всередині тунелю L2TP між віртуальними адресами 10.50.0.X. Така реалізація дозволяє залежати від IP клієнта.
Якщо ж ви хочете створити 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-біт.
У вкладці Peers додаємо новий бенкет з адресою 0.0.0.0/0, що дозволить маршрутизатору приймати всі підключення. За замовчуванням використовується 500-й порт. Метод аутентифікації вибираємо pre shared key, трохи нижче вказуємо бажаний пароль. Exchange Mode слід вказати main l2tp.
Зазначаємо опції Send Initial Contact та NAT Traversal. Останню опцію можна і не відзначати, якщо ви точно впевнені, що клієнт не знаходиться за провайдером NAT. Generate policy вибираємо port strict. Інші опції ви можете подивитися на скріншоті.
Після додавання бенкету слід створити політику, для цього відкриваємо вкладку Policies. За промовчанням можна вимкнути політику. Створюємо нову політику, де вказуємо наші 2 локальні мережі. Src. Adress (source) – наша локальна мережа 192.168.1.0/24, Dst. Adress (destination) – віддалена підмережа 192.168.2.0/24. В закладці Action необхідно вказати дію, що застосовується: action – encrypt, level – require. Як протокол вибираємо ESP і ставимо галочку Tunnel. SA Src. Adress – наша локальна адреса у віртуальній мережі (10.50.0.10), SA Dst. Adress – адреса віддаленого клієнта у віртуальній мережі.
На цьому в принципі все потрібно також зайти в Firewall і додати правила для портів, що використовуються. Порт UDP 1701 використовується для початкової ініціалізації та конфігурації. UDP 500 використовується в L2TP/IPSec для ініціалізації обміну ключами. Протокол 50 – IPSec ESP, який використовується для шифрування даних. Іноді необхідно також відкривати порт UDP 4500 для обходу NAT.
Налаштування клієнта
В першу чергу, додаємо правила файрволу та відключаємо маскарадинг для нашого VPN-підключення.
У розділі IP-IPSec необхідно налаштувати Proposal аналогічно тому, як це зроблено на сервері.
Як бенкет буде виступати 10.50.0.10, тобто. адреса сервера у віртуальній мережі. Всі інші налаштування повинні відповідати тим, які ви вказали під час налаштування сервера.
Під час створення політики, всі адреси та підмережі вказуються тому, як вони вказані на сервері, тобто. Якщо збільшити кількість потоків до 10, можна досягти швидкості 19 Мбіт/сек.
Завантаження процесора обох пристроїв становить 95%, що чимало. Це та ціна, яку доводиться платити за безпеку даних, що передаються.
Для отримання високої продуктивності по L2TP/IPSec слід купувати обладнання вищого рівня або збирати маршрутизатор на PC + RouterOS. Якщо ви вибираєте варіант покупки продуктивного маршрутизатора, зверніть увагу на наявність апаратного блоку шифрування, що суттєво збільшить продуктивність.
Авторизуйтеся, щоб додати відгук