Організація vpn каналів між офісами

Організація VPN каналів між філіями компанії має велике значення в роботі будь-якого IT-фахівця. У даній статті розглядається один із способів реалізації цього завдання на основі програмного продукту OpenVPN.


Використана нами мережева топологія стандартна. Є Мережа Центрального Офісу (назвемо її СЦО) і Мережа Філії (назвемо її СФ). Стоїть завдання з'єднати офіси таким чином, щоб кінцевий комп'ютер користувача (далі ПК1) офісу СЦО мав доступ до загальних ресурсів для користувача комп'ютера (далі ПК2) СФ.

CЦО має в своєму складі:

СФ має в своєму складі:

Налаштовуємо OpenVPN сервер.

Тепер перейдемо до самої програми, основам і особливостям її конфігурації. OpenVPN доступний у варіантах для Linux і Windows. Ви можете завантажити інсталяційний пакет на сайті розробника.

Сам процес інсталяції не викличе жодних проблем. Єдине, варто відключити антивірус на час установки, щоб уникнути додаткових проблем. На момент написання статті, наприклад, продукти Лабораторії Касперського не блокували установку, а лише виводили підозра на деякі встановлювані компоненти.

За стандартом програма встановлюється в C: \ ProgramFiles \ OpenVPN. У цій директорії слід відразу ж створити додатково папку keys (тут ми будемо зберігати ключі аутентифікації) папку ccd (тут перебуватимуть конфіги налаштувань сервера для клієнта).

В директорії C: \ ProgramFiles \ OpenVPN \ sample-config представлені стандартні конфіги. Конфіги, які ми будемо створювати, повинні розміщуватися в директорії C: \ Program Files \ OpenVPN \ config.

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

  • головний CertificateAuthority (CA) сертифікат і ключ, який використовується для підписування кожного сертифіката сервера і клієнта.
  • публічний і приватний ключі для сервера і кожного (це важливо) клієнта окремо.

Послідовність створення ключів наступна (назви файлів сертифікатів і ключів вказані в дужках):

  • Генеруємо основний CA (ca.crt) сертифікат і CA (ca.key) ключ.
  • Генеруємо сертифікат (server.crt) і ключ (server.key) сервера.
  • Генеруємо сертифікат (office1.crt) і ключ (office1.key) для клієнта.
  • Генерація параметрів DiffieHellman (dh1024.pem).
  • Генерація ключа tls-auth (ta.key) для аутентифікації пакетів.

Розберемо кожен пункт більш докладно.