Налаштування VPN на MikroTik - Блог LanTorg

VPN-тунелі - поширений вид зв'язку типу "точка-точка" на основі стандартного інтернет-з'єднання через роутер MikroTik. Вони є, по суті "канал усередині каналу" - виділена лінія всередині основної.

VPN тунель

Необхідність налаштування тунельного VPN-з'єднання на MikroTik виникає у випадках, коли:

  • Потрібно надати доступ до корпоративної мережі  співробітникам підприємства , які працюють із дому, або перебуваючи в командуванні, в тому числі з мобільних пристроїв.
  • Потрібно надати доступ в інтернет абонентам провайдера (в останній час така реалізація доступу клієнтів стає все більш популярною).
  • Необхідно з'єднати два віддалені підрозділи підприємства захищеним каналом у зв'язку з мінімальними витратами.

 

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

Шифрування у VPN

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

ВИБІР ПРОТОКОЛУ ДЛЯ VPN НА MIKROTIK

Для налаштування з'єднання VPN через MikroTik найчастіше використовуються такі протоколи:

  • PPtP,

  • PPPoE,

  • OpenVPN,

  • L2TP,

  • IPSec.

У сьогоднішній статті ми розглянемо налаштування підключення VPN за допомогою двох з них, як найчастіше зустрічаються у роботі провайдера та системного адміністратора: PPtP та PPPoE. Про налаштування VPN на MikroTik за допомогою OpenVPN у нас є окрема стаття .

VPN ЧЕРЕЗ PPTP НА MIKROTIK

PPtP - найпоширеніший протокол VPN. Це зв'язок протоколу TCP, який використовується для передачі даних, і GRE - для інкапсуляції пакетів. Найчастіше використовується для віддаленого доступу користувачів до корпоративної мережі. В принципі, може використовуватися для багатьох завдань VPN, проте слід враховувати його вади в безпеці.

Простий у налаштуванні. Для організації тунелю потрібно:

  • створити на роутері MikroTik, через який користувачі підключатимуться до корпоративної мережі, PPtP-сервер,

  • створити профілі користувачів з логінами/паролями для ідентифікації на стороні сервера,

  • створити правила-виключення Firewall маршрутизатора, щоби підключення безперешкодно проходили через брандмауер.

 Включаємо сервер PPTP.

Для цього йдемо в розділ меню PPP , заходимо на вкладку Interface , вгорі в переліку вкладок знаходимо сервер PPTP і ставимо галочку в пункті Enabled.

Знімаємо галочки з найменш безпечних алгоритмів ідентифікації – pap і chap.

Увімкнення VPN PPTP сервера

 Створюємо користувачів.  

У розділі PPP переходимо в меню  Secrets і за допомогою кнопки " " додаємо нового користувача.

У полях Name і Password прописуємо відповідно логін і пароль, який використовуватиме користувач для підключення до тунелю.

У полі Service вибираємо тип нашого протоколу - pptp, у полі Local Address пишемо IP-адресу роутера MikroTik, яка буде виступати в ролі VPN-сервера, а в полі Remote Address - IP-адреси користувача

Додавання профілів користувачів на сервер VPN

  Прописуємо правила для  Firewall. 

Нам потрібно відкрити 1723 порт для трафіку TCP-протоколом для роботи VPN-тунелю MikroTik, а також дозволити протокол GRE. Для цього йдемо в розділ IP, потім – у  Firewall , потім на вкладку  Filter Rules , де за допомогою кнопки "+" додаємо нове правило. У полі Chain  вказуємо вхідний трафік - input , у полі Protocol вибираємо протокол tcp , а полі Dst. Port - вказуємо порт для VPN тунелю 1723 .

Додавання правила до Firewall

Переходимо на вкладку Action і вибираємо accept – дозволяти (трафік).

Дія правила

Також додаємо правило для GRE. На вкладці General аналогічно попередньому прописуємо input, а поле Protocol  вибираємо gre. 

VPN правило для GRE

На вкладці  Action  , як і в попередньому правилі, вибираємо  accept.

Не забуваймо підняти ці правила у загальному списку нагору, поставивши ПЕРЕД забороняючими правилами, інакше вони не працюватимуть. У RouterOS Mikrotik це можна зробити перетягуванням правил біля вікна FireWall.

Все, PPtP сервер для VPN на MikroTik піднято.

 Невелике уточнення.

У деяких випадках, коли при підключенні необхідно побачити локальну мережу за маршрутизатором , потрібно увімкнути proxy-arp у налаштуваннях локальної мережі. Для цього йдемо в розділ інтерфейсів (Interface), знаходимо інтерфейс, що відповідає локальній мережі та на вкладці General у полі ARP вибираємо  proxy-arp .

Якщо не видно локальну мережу за VPN

Якщо ви підняли VPN між двома роутерами MikroTik і вам необхідно дозволити передачу broadcast, можна спробувати додати існуючий профіль підключення (PPP - Profiles) віддаленого роутера до головного бриджу:

Дозвіл broadcast

UPD з коментаря: Якщо вам додатково потрібно отримати доступ до розшарованих папок на комп'ютерах локальної мережі, потрібно також відкрити порт 445 для трафіку SMB-протоколу, що відповідає за Windows Shared. (Правило forward у брандмауері).

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

На стороні VPN-клієнта налаштування полягають тільки в тому, щоб створити підключення за VPN, вказати IP-адресу VPN (PPtP) сервера, логін та пароль користувача.

VPN ЧЕРЕЗ PPPOE НА MIKROTIK

Своєю поширеністю в останній час VPN за протоколом PPPOE зобов'язаний провайдерам, які надають широкосмуговий, в тому числі бездротовий доступ в інтернет. Протокол передбачає можливість стиснення даних, шифрування, а також характеризується:

  • Доступністю та простотою налаштування.

  • Підтримка більшістю маршрутизаторів MikroTik.

  • Стабільність.

  • Масштабованість.

  • Стійкістю зашифрованого трафіку до ARP-спуфінгу (мережевої атаки, що використовує уразливість протоколу ARP).

  • Меншою ресурсомісткістю та навантаженням на сервер, ніж PPtP.

Також його перевагою є можливість використання динамічних IP-адрес: не потрібно назначати певний IP кінцевим вузлам VPN-тунелю. Підключення з боку клієнта здійснюється без складних налаштувань, тільки за логіном та паролем.

НАЛАШТУВАННЯ VPN-СЕРВЕРА PPPOE MIKROTIK

 Налаштовуємо профілі сервера.

Декілька профілів PPPoE-сервера можуть знадобитися, якщо ви провайдер і роздаєте інтернет за декількома тарифними пакетами. Відповідно, в кожному профілі можна настроїти різні обмеження швидкості.

Ідемо до розділу PPP , відкриваємо пункт  Profiles  і за допомогою кнопки " " створюємо новий профіль. Даємо йому зрозумілу назву, прописуємо локальну адресу сервера (роутера), відзначаємо опцію Change TCP MSS (коригування MSS), щоб всі сайти нормально відкривалися.

Налаштування VPN PPPoE сервера Мікротик - профілі

До речі, в деяких випадках, коли виникають проблеми з відкриттям деяких сайтів, при тому, що пінги проходять на них, можна зробити по-іншому. Коригування MSS відключаємо, а через термінал прописуємо на роутері наступне правило:

"ip firewall mangle  add chain=forward  protocol=tcp tcp-flags=syn tcp-mss=1453-65535 action=change-mss new-mss=1360 disabled=no". Найчастіше це вирішує проблему.

Далі на вкладці Protocols все відключаємо для покращення продуктивності. Якщо захищеність з'єднання вам важлива і продуктивність маршрутизатора дозволяє, то опцію Use Encryption (використовувати шифрування) не відключайте.

Налаштування вкладки Protocols

На вкладці Limits встановлюємо обмеження швидкості, якщо потрібно. Перша цифра в обмеженні швидкості - трафік, що входитиме на сервер (вихідний від абонента), друга - наш вихідний трафік (що входитиме до абонента).

Ставимо Yes у пункті Only One , це означає, що два і більше абонентів з одним і тим же набором логін/пароль не зможуть підключитися до PPPoE-сервера, лише один.

Налаштування обмежень швидкості у профілі PPPoE

Тепер, якщо необхідно, створюємо інші профілі простим копіюванням (кнопка Copy на попередньому скріншоті) та змінюємо ім'я та обмеження швидкості.

 Створюємо облікові записи користувачів .

У тому ж розділі PPP знаходимо пункт меню  Secrets У ньому за допомогою кнопки "+" створюємо нового користувача, який підключатиметься до нас за VPN-тунелем.

Заповнюємо поля Name і Password (логін та пароль, який буде вводити користувач зі свого боку, щоб підключитися).

У полі Service вибираємо pppoe Profile - відповідний профіль, у разі - тарифний пакет, яким користується абонент. Привласнюємо користувачеві IP-адресу, яку при підключенні сервер роздасть абоненту.

Налаштування користувачів на сервері PPPoE

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

 Прив'язуємо сервер PPPoE до певного інтерфейсу MikroTik.

Тепер нам необхідно повідомити маршрутизатор, на якому інтерфейсі він повинен "слухати" вхідні підключення від VPN PPPoE клієнтів. Для цього у розділі PPP ми вибираємо пункт PPPoE Servers. Тут ми змінюємо:

Поле Interface - вибираємо той інтерфейс, до якого будуть підключатись клієнти,

  • Keepalive Timeout – 30 секунд (година очікування відповіді від клієнта до розриву з'єднання)
  • Default Profile - профіль, який буде присвоюватись абонентам за замовчуванням,
  • Ставимо галку в One Session Per Host, дозволяючи тим самим підключити тільки один тунель з маршрутизатора клієнта або комп'ютера.
  • Галочки в розділі аутентифікації залишаємо/знімаємо на розсуд.
 

Прив'язка сервера PPPoE до інтерфейсу

 Налаштовуємо NAT для доступу клієнтів до Інтернету.

Ми підняли PPPoE сервер і тепер до нього можуть підключатися авторизовані користувачі. Якщо нам потрібно, щоб користувачі, що під'єдналися за VPN тунелем, мали доступ до інтернету, потрібно налаштувати NAT (маскарадинг), або перетворення локальних мережевих адрес.

У розділі IP вибираємо пункт  Firewall та за допомогою кнопки "+" додаємо нове правило.

У полі Chain має стоять srcnat , що означає, що маршрутизатор буде застосовувати це правило до трафіку, спрямованого "зсередини зовні".

У полі Src. Address (вихідна адреса) прописуємо діапазон адрес 10.1.0.0/16 . Це означає, що це є клієнти з адресами 10.1. (0.0-255.255) будуть виходити в мережу через NAT, тобто ми перелічуємо тут усіх потенційних абонентів.

У полі Dst. Address (адреси призначення) вказуємо !10.0.0.0/8 - діапазон адрес, що означає власний адресний простір для приватних мереж, зі знаком оклику попереду. Це вказує роутеру на виняток - якщо хтось із локальної мережі звертається на адресу в нашій мережі, то NAT не застосовується, з'єднання відбувається безпосередньо.

Настроювання NAT для сервера PPPoE MikroTik

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

Маскарадінг

НАЛАШТУВАННЯ VPN-КЛІЄНТА PPPOE

Якщо на тій стороні VPN тунелю з'єднання буде відбуватися з комп'ютера або ноутбука, просто потрібно буде створити високошвидкісне з'єднання через PPPoE в Центрі управління мережами та загальним доступом (для Win 7, Win 8). Якщо на іншому боці – також роутер Mikrotik, то підключаємо наступним чином.

 Додаємо PPPoE інтерфейс.

На вкладці Interface вибираємо PPPoE Client та за допомогою кнопки "+" додаємо новий інтерфейс.

Тут у полі Interface ми вибираємо той інтерфейс роутера Mikrotik, на якому ми організуємо VPN-тунель.

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

 Прописуємо налаштування підключення.

Далі переходимо на вкладку Dial Out та вписуємо логін та пароль для підключення до VPN тунелю PPPoE.

Ставимо галочку в полі Use Peer DNS - щоб адресою DNS сервера ми отримували з сервера VPN (від провайдера), а чи не прописували вручну.

Налаштування аутентифікації (галочки в pap, chap, mschap1, mschap2) мають бути узгоджені із сервером.

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