Налаштування захищеного OpenVPN тунелю між двома маршрутизаторами Mikrotik

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

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

Ось і сьогодні ми побудуємо такий тунель між двома маршрутизаторами Mikrotik і детально розглянемо всі етапи налаштування на реальному прикладі. Загалом усю цю процедуру можна умовно розділити на три основні пункти:

1. Генерація сертифіката

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

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

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

1. Генерація сертифіката

Для роботи цього протоколу нам знадобиться сертифікат. Найпростіше згенерувати його самостійно, але для цього нам знадобиться комп'ютер із встановленою операційною системою Linux. У моєму випадку я скористався віддаленим сервером.

Насамперед, оновлюємо список доступних пакетів

~# apt-get update

Обновление списка доступных пакетов

І встановлюємо, необхідний для генерації сертифікату та ключів, пакет OpenVPN

~# apt-get install openvpn

установка пакета OpenVPN

Коли пакет встановлений, можемо розпочати створення сертифіката. При необхідності, у папці /usr/share/doc/openvpn/examples/easy-rsa/2.0/, можемо відредагувати файл vars, вказавши там наші дані у змінних типу export KEY_ххххх. Наприклад, у змінній export KEY-SIZE можна збільшити розмір ключа, замінивши 1024 на 2048.

создание сертификата

Переходимо до папки /usr/share/doc/openvpn/examples/easy-rsa/2.0/

~# cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/

Ініціалізуємо змінні і про всяк випадок, очищаємо існуючі ключі та сертифікати.

~# source vars

~# ./clean-all

pics 4

Ініціалізуємо створення сертифіката та ключа власного центру сертифікації

~# ./pkitool --initca

pics 5

Створюємо ключ і сертифікат для OpenVPN сервера (ім'я файлів сертифіката та ключів буде таким, яке ви вказали у файлі vars, змінної KEY_NAME)

~# ./pkitool --pass --server

pics 6

І тепер, у папці /usr/share/doc/openvpn/examples/easy-rsa/2.0/, у нас з'явився новий каталог keys, в якому і зберігаються всі сертифікати та ключі. Для центру сертифікації, це файли ca.crt та ca.key, і для сервера, у нашому випадку, це Cert.crt та Cert.key.

pics 7

Але є один нюанс. Отриманий таким чином ключ має формат pkcs8, який не підтримується Mikrotik RouterOS і, як наслідок, не може бути використаний у маршрутизаторі. Тому нам потрібно конвертувати його у відповідний формат. Для чого ми виконаємо відповідну команду

~# openssl rsa -in keys/Cert.key -out keys/Cert.pem

У результаті, отримавши ще один файл у папці keys.

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

Нам потрібно, будь-яким доступним способом, наприклад FTP, отримати до себе на комп'ютер, файли ca.crt, Cert.crt і Cert.pem. Саме вони знадобляться для налаштування OpenVPN тунелю. Підключаємося до маршрутизатора, який виступатиме сервером, за допомогою фірмової утиліти Winbox та переносимо всі файли туди.

pics 8

Після цього, імпортуємо їх у систему, розділ меню System - Certificates , з допомогою кнопки Import, де у новому вікні вибираємо:

Only File – ім'я файлу сертифіката або ключа;

Passphrase – пароль для імпорту ключа, якщо необхідно.

pics 9

При цьому, намагаємося дотримуватись послідовності - спершу, сертифікат CA, потім сертифікат сервера OpenVPN і в кінці, ключ.

У результаті, у нас з'являться такі записи в розділі сертифікатів. Причому, біля сертифіката OpenVPN сервера, мають бути 2 літери - KR, що позначають K:

Decrypted-Private-Key R: RSA.

pics 10

І тепер ми можемо приступити до безпосереднього настроювання OpenVPN сервера. Для цього відкриваємо меню PPP і насамперед переходимо на вкладку Profiles , де кнопкою “+”, додаємо новий профіль.

У вікні, в полі Name - присвоюємо ім'я профілю, а в полях Local Address і Remote address , вписуємо IP адреси. Де Local, це адреса нашого тунелю, що присвоюється серверу, а Remote – клієнту.

pics 11

Переходь на вкладку Interfaces , де натискаємо на кнопку OVPN Server і у вікні, ставимо галочку Enabled , тим самим, активуючи OpenVPN сервер.

Default Profile – вибираємо створений нами раніше профіль.

Certificate – вибираємо сертифікат OpenVPN сервера, який ми імпортували на самому початку.

І зберігаємо налаштування.

pics 12

Останнє, що нам потрібно зробити налаштування сервера, це додати нового користувача, на вкладці Secrets . Де ми за допомогою кнопки “+” створюємо новий запис. В якій, в полях Name і Password , вписуємо логін та пароль для майбутнього користувача. Service - вибираємо ovpn, а як профіль, в полі Profile , вибираємо наш OpenVPN профіль.

pics 13

Однак, потрібно мати на увазі, що в залежності від ваших налаштувань Firewall, можливо, потрібно буде додати дозвільне правило в меню IP - Firewall , на вкладці Filter Rules , наступного змісту:

Chain - input

Protocol - tcp

Dst.Port - 1194

Action - accept

pics 14

Воно має розташовуватися раніше забороняючих правил.

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

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

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

У розділі меню PPP на вкладці Interfaces кнопкою “+” додаємо новий запис OVPN Client.

pics 15

І у вікні, на вкладці Dial Out , встановлюємо наступні параметри:

Connect To - IP адреса OpenVPN сервера

User - логін клієнта

Password - пароль клієнта

Auth - вибираємо sha1

Cipher - вибираємо aes 256

pics 16

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

pics 17

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

pics 18

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

Далі, залежно від ваших потреб, ви можете налаштувати NAT, Routing і т.д. на ваш розсуд.

logo
Налаштування захищеного OpenVPN тунелю між двома маршрутизаторами Mikrotik
Відгуки покупців
Рейтинг покупців
0 / 5
На основі N оцінок покупців
0%
0%
0%
0%
0%
Відгук
Відмінно
Заголовок*
Достоїнства
Недоліки
Коментар*
Як вас звати

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


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

x