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

28.08.2015
Поділитись у:
*/?>

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

Об'єднання мереж ми розглядатимемо на прикладі обладнання компанії 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 відбувається подвійна інкапсуляція, що знижує продуктивність - це саме та ціна, яку доведеться заплатити за безпеку даних, що передаються.

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

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

иллюстрация L2TP соеденения

Як інтернет-провайдер виступає маршрутизатор RB951Ui-2HnD , який видає пристроям IP у підмережі 192.168.106.0/24. Насправді ж у вас будуть інші IP-адреси на WAN-інтерфейсах.

В качестве интернет-провайдера выступает маршрутизатор RB951Ui-2HnD

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

Отже, на головному сервері має бути статична біла зовнішня IP-адреса, як приклад у нас це 192.168.106.246. Наявність статики важлива т.к. адреса не повинна змінюватися, інакше доведеться вдаватися до зайвих дій і використовувати DNS-ім'я.

статический белый внешний IP-адрес

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

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

создать профиль, который будет применяться к VPN-подключениям

создать профиль, который будет применяться к VPN-подключениям

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

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

Опцию IPsec оставляем отключенной

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

создать нового пользователя VPN

Локальна адреса вказується 10.50.0.10, віддалена – 10.50.0.11. При необхідності створюємо потрібну кількість користувачів. Для кожного користувача локальний IP буде однаковим, віддалений IP збільшуємо на одиницю (тобто 10.50.0.12, 10.50.0.13 тощо). Можна, звичайно, вдатися до використання пулу адрес, але зі статикою вам простіше буде писати маршрути.

указываем IP адреса

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

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

L2TP Server Binding, указываем отображаемое название и имя пользователя

При подключении пользователя здесь будет отображаться вся информация

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


Настройки файрволла

Настройки файрволла

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

открыть UDP-порт 1701 (chain input, protocol 17(udp), dst-port 1701, accept)

поднять приоритет правила

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

заходим в NAT

добавляем маскарадинг для VPN

добавляем маскарадинг для VPN

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

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

Добавление маршрутов

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

завершение настройки

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


интрефейс

Відкриваємо розділ інтерфейсів і додаємо новий L2TP Client, вказуємо IP-адресу сервера та свої облікові дані, за замовчуванням вибираємо профіль із шифруванням та знімаємо галочку з дефолтного маршруту.

добавляем новый L2TP Client

указываем IP-адрес сервера и свои учётные данные

выбираем профиль с шифрованием и снимаем галочку с дефолтного маршрута

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

пинг

Пробуємо пінгувати 192.168.1.1 і він, звичайно ж, відповідати не буде. Додаємо новий статичний маршрут – віддалена підмережа 192.168.1.0/24, як шлюз IP-сервера у віртуальній мережі, Pref. Source – наш IP у віртуальній мережі. Тобто. на клієнті всі адреси проставляються навпаки.

Пробуем пинговать

Пробуем пинговать

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

Пробуем пинговать, есть пинг

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

компьютеры за роутером ещё не видят удалённую сеть

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

маскарадинг

маскарадинг

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

есть пинг

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

l2tp vpn without ipsec

На цьому базове налаштування завершено. При додаванні нових користувачів необхідно додавати відповідні маршрути на пристроях, де ви хочете, щоб пристрої за роутером бачили один одного. При прокиданні маршруту між 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, якщо цього не зробити, пакети шифруватися не будуть. Необхідне перезавантаження маршрутизатора.

заходим в NAT и отключаем маскарадинг для PPP

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

открываем вкладку Proposals

У вкладці Peers додаємо новий бенкет з адресою 0.0.0.0/0, що дозволить маршрутизатору приймати всі підключення. За замовчуванням використовується 500-й порт. Метод аутентифікації вибираємо pre shared key, трохи нижче вказуємо бажаний пароль. Exchange Mode слід вказати main l2tp.

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

Во вкладке Peers добавляем новый пир

Після додавання бенкету слід створити політику, для цього відкриваємо вкладку 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 – адреса віддаленого клієнта у віртуальній мережі.

открываем вкладку Policies

В качестве протокола выбираем ESP

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

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

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

добавляем правила файрволла

отключаем маскарадинг для VPN-подключения

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

В разделе IP – IPSec необходимо настроить Proposal

Як бенкет буде виступати 10.50.0.10, тобто. адреса сервера у віртуальній мережі. Всі інші налаштування повинні відповідати тим, які ви вказали під час налаштування сервера.

адрес сервера в виртуальной сети

Під час створення політики, всі адреси та підмережі вказуються тому, як вони вказані на сервері, тобто. Якщо збільшити кількість потоків до 10, можна досягти швидкості 19 Мбіт/сек.

производительность нашего канала между RB2011UiAS-RM и RB941-2n упала до 17 Мбит/сек

Если увеличить количество потоков до 10, можно добиться скорости 19 Мбит/сек

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

Загрузка процессора 95%

Загрузка процессора 95%

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

оборудование

logo
Покрокова інструкція з об'єднання мереж за допомогою L2TP та L2TP/IPSec на Mikrotik
Відгуки покупців
Рейтинг покупців
0 / 5
На основі N оцінок покупців
0%
0%
0%
0%
0%
Відгук
Відмінно
Заголовок*
Достоїнства
Недоліки
Коментар*
Як вас звати

Повернення до списку


Популярне обладнання

Авторизуйтеся, щоб додати відгук

x