Налаштування openvpn сервера і клієнта

Установка і створення ключів і сертифікатів для OpenVPN сервера і клієнта описана в попередній статті Установка OpenVPN сервера. Тепер сервер і клієнт готові до налаштування.

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

Створення ключів та сертифікатів для OpenVPN сервера було описано в попередній статті про установку OpenVPN сервера. Підготовлені ключі та сертифікати були перенесені в каталог / etc / openvpn.

У пакет openvpn включений приклад конфігураційного файлу для OpenVPN сервера. Він знаходиться в архіві server.conf.gz в каталозі / usr / share / doc / openvpn / examples / sample-config-files. Розпакуємо і перемістимо його в директорію / etc / openvpn:

Змін в цей конфігураційний файл буде небагато. Необхідно вказати файл приватного ключа і сертифіката OpenVPN сервера створеного за інструкцією установки OpenVPN сервера:

Вказати віртуальну підмережа (опис структури мереж для цього прикладу знаходиться в головній статті):

Повідомити клієнтів, що підключаються зміни в його таблицю роутінга:

Цей рядок змусить OpenVPN клієнт при підключенні до сервера модифікувати свою таблицю роутінга. У балці клієнта OpenVPN при підключенні з'явиться рядок:

Оскільки всі комп'ютери в обох мережах повинні бачити один одного, то необхідно внести зміни в таблицю роутінга OpenVPN сервера:

Також потрібно створити директорію / etc / openvpn / ccd. в якій створити файл з ім'ям подключающегося клієнта. У нашому прикладі це user_office2. Цей файл буде складатися з єдиною рядки:

Без цих трьох рядків підключив клієнт побачить все комп'ютери в мережі OpenVPN сервера, але інші комп'ютери в підключається мережі, підключену мережу не побачать, як і з мережі OpenVPN сервера підключена мережа залишиться недоступною.

Обраний механізм шифрування потрібно буде прописати всім клієнтам підключаються до цього OpenVPN сервера.

щоб зменшити привілеї OpenVPN сервера після ініціалізації. Що втім додасть повідомлення про помилки в лог OpenVPN сервера. Наприклад, при зупинці OpenVPN сервера в балці з'являться повідомлення про помилки в дусі:

що логічно, адже з правами nobody: nogroup вносити зміни в таблицю роутінга не можна. Втім таблиця роутінга все ж буде підчищена, так як інтерфейс tun буде видалений.

За замовчуванням поточний статус зберігається в файл /etc/openvpn/openvpn-status.log. Варто змінити, наприклад на:

В результаті вийде конфігураційний файл для OpenVPN сервера:

Після конфігурації OpenVPN сервера, його можна запустити. В Debian це робиться так:

Оскільки шлях і ім'я лог файлу не вказані, OpenVPN буде відправляти свій лог в syslog.

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

Створення ключів та сертифікатів для OpenVPN клієнта було описано в попередній статті про установку OpenVPN клієнта. Підготовлені ключі та сертифікати були перенесені в каталог / etc / openvpn.

У пакет openvpn включений приклад конфігураційного файлу для клієнта OpenVPN. Він знаходиться в файлі client.conf в каталозі / usr / share / doc / openvpn / examples / sample-config-files. Перемістимо його в директорію / etc / openvpn:

Файл приватного ключа і сертифіката OpenVPN клієнта створеного за інструкцією установки OpenVPN клієнта:

Вам потрібно вибрати такий же механізм шифрування, що і на сервері:

У цьому файлі конфігурації клієнта OpenVPN відсутні директиви вказують на розташування лог файлу та статусного файлу. Можна додати їх:

В результаті вийде конфігураційний файл для OpenVPN клієнта:

Клієнт готовий до підключення, це можна відразу перевірити:

Якщо директива log-append не було вказано, то висновок балки буде проводиться на stdout.

Перевірка з'єднання

Перевіряти з'єднання двох мереж необхідно не з роутерів, а з будь-яких інших машин в локальних мережах. Це пов'язано з тим, що якщо команди зміни роутінга були задані невірно або не вказані зовсім, то клієнт і сервер OpenVPN будуть бачити один-одного, а інші комп'ютери в локальних мережах немає.

Обидва комп'ютери повинні бути доступні один для одного.

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

Шлях між мережами буде виглядати приблизно так:

Схожі статті