Ось і сьогодні ми побудуємо такий тунель між двома маршрутизаторами Mikrotik і детально розглянемо всі етапи налаштування на реальному прикладі. Загалом усю цю процедуру можна умовно розділити на три основні пункти:
1. Генерація сертифіката
2. Налаштування сервера
3. Налаштування клієнта
І так, у нас є два окремі офіси, розташовані в різних частинах міста, і підключені до різних Інтернет-провайдерів. Наше завдання – об'єднати їх у єдину віртуальну мережу. Для цього ми обрали протокол OpenVPN. Причин цього вибору досить багато. Але досить згадати, хоча б RSA шифрування, з довжиною ключа не менше 1024 біт. Одним словом - висока безпека та збереження ваших даних.
1. Генерація сертифіката
Для роботи цього протоколу нам знадобиться сертифікат. Найпростіше згенерувати його самостійно, але для цього нам знадобиться комп'ютер із встановленою операційною системою Linux. У моєму випадку я скористався віддаленим сервером.
Насамперед, оновлюємо список доступних пакетів
~# apt-get update
І встановлюємо, необхідний для генерації сертифікату та ключів, пакет OpenVPN
~# apt-get install 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
Ініціалізуємо створення сертифіката та ключа власного центру сертифікації
~# ./pkitool --initca
Створюємо ключ і сертифікат для OpenVPN сервера (ім'я файлів сертифіката та ключів буде таким, яке ви вказали у файлі vars, змінної KEY_NAME)
~# ./pkitool --pass --server
І тепер, у папці /usr/share/doc/openvpn/examples/easy-rsa/2.0/, у нас з'явився новий каталог keys, в якому і зберігаються всі сертифікати та ключі. Для центру сертифікації, це файли ca.crt та ca.key, і для сервера, у нашому випадку, це Cert.crt та Cert.key.
Але є один нюанс. Отриманий таким чином ключ має формат pkcs8, який не підтримується Mikrotik RouterOS і, як наслідок, не може бути використаний у маршрутизаторі. Тому нам потрібно конвертувати його у відповідний формат. Для чого ми виконаємо відповідну команду
~# openssl rsa -in keys/Cert.key -out keys/Cert.pem
У результаті, отримавши ще один файл у папці keys.
2. Налаштування сервера
Нам потрібно, будь-яким доступним способом, наприклад FTP, отримати до себе на комп'ютер, файли ca.crt, Cert.crt і Cert.pem. Саме вони знадобляться для налаштування OpenVPN тунелю. Підключаємося до маршрутизатора, який виступатиме сервером, за допомогою фірмової утиліти Winbox та переносимо всі файли туди.
Після цього, імпортуємо їх у систему, розділ меню System - Certificates , з допомогою кнопки Import, де у новому вікні вибираємо:
Only File – ім'я файлу сертифіката або ключа;
Passphrase – пароль для імпорту ключа, якщо необхідно.
При цьому, намагаємося дотримуватись послідовності - спершу, сертифікат CA, потім сертифікат сервера OpenVPN і в кінці, ключ.
У результаті, у нас з'являться такі записи в розділі сертифікатів. Причому, біля сертифіката OpenVPN сервера, мають бути 2 літери - KR, що позначають K:
Decrypted-Private-Key R: RSA.
І тепер ми можемо приступити до безпосереднього настроювання OpenVPN сервера. Для цього відкриваємо меню PPP і насамперед переходимо на вкладку Profiles , де кнопкою “+”, додаємо новий профіль.
У вікні, в полі Name - присвоюємо ім'я профілю, а в полях Local Address і Remote address , вписуємо IP адреси. Де Local, це адреса нашого тунелю, що присвоюється серверу, а Remote – клієнту.
Переходь на вкладку Interfaces , де натискаємо на кнопку OVPN Server і у вікні, ставимо галочку Enabled , тим самим, активуючи OpenVPN сервер.
Default Profile – вибираємо створений нами раніше профіль.
Certificate – вибираємо сертифікат OpenVPN сервера, який ми імпортували на самому початку.
І зберігаємо налаштування.
Останнє, що нам потрібно зробити налаштування сервера, це додати нового користувача, на вкладці Secrets . Де ми за допомогою кнопки “+” створюємо новий запис. В якій, в полях Name і Password , вписуємо логін та пароль для майбутнього користувача. Service - вибираємо ovpn, а як профіль, в полі Profile , вибираємо наш OpenVPN профіль.
Однак, потрібно мати на увазі, що в залежності від ваших налаштувань Firewall, можливо, потрібно буде додати дозвільне правило в меню IP - Firewall , на вкладці Filter Rules , наступного змісту:
Chain - input
Protocol - tcp
Dst.Port - 1194
Action - accept
Воно має розташовуватися раніше забороняючих правил.
3. Налаштування клієнта
Тепер переходимо до налаштування клієнта, який знаходиться в іншій частині міста. Його також будемо налаштовувати за допомогою фірмової утиліти Winbox.
Хочу звернути вашу увагу на те, що настроюючи сервер, ми спеціально в його властивостях не поставили галочку Requre Client Certificate. Тому, не потрібно додаткових сертифікатів для клієнта, і його налаштування буде досить простим.
У розділі меню PPP на вкладці Interfaces кнопкою “+” додаємо новий запис OVPN Client.
І у вікні, на вкладці Dial Out , встановлюємо наступні параметри:
Connect To - IP адреса OpenVPN сервера
User - логін клієнта
Password - пароль клієнта
Auth - вибираємо sha1
Cipher - вибираємо aes 256
Зберігаємо налаштування, і незабаром біля нового запису повинна з'явитися буква R, яка свідчить про те, що з'єднання успішно встановлено.
Настав час, перевірити, чи все працює. Для цього ми відкриваємо консоль New Terminal та командою ping, визначаємо доступність вузлів локальної мережі.
Таким чином, ми бачимо, що обидва маршрутизатори, незважаючи на територіальну різницю, знаходяться в одній локальній мережі.
Далі, залежно від ваших потреб, ви можете налаштувати NAT, Routing і т.д. на ваш розсуд.
Авторизуйтеся, щоб додати відгук