Налаштування сервера openvpn на linux
Багато статей є в мережі про це, але я вирішив написати ще одну. Звичайно, можна користуватися pptp. про який я вже писав раніше, але в openvpn є кілька важливих переваг. Тому, він такий популярний. Які власне переваги?По-перше, він більш захищений, тому що використовує потужні алгоритми шифрування з відкритими ключами і сертифікатами замість паролів. У pptp використовуються менш захищені протоколи шифрування, які можна зламати при бажанні. По-друге, openvpn працює через http-проксі і фаєрволи. Він може працювати через будь-який порт як tcp так і udp. Можна налаштувати роботу сервісу через 443 порт tcp, що дозволяє працювати через проксі і не дає можливості закрити цей порт фаєрвол. По-третє, він багатоплатформовий. По-четверте, він має високу стабільність роботи в нестабільному каналі Інтернету. Це основні переваги. Хоч openvpn і можна налаштувати на MS Windows, але ми будемо сервер налаштовувати на Linux, клієнт може бути і на Windows. Тож почнемо.
Завантажити rpm пакет з openvpn або поставимо з початкових кодів на сайті openvpn. Створимо робочий каталог для ключів і для скриптів генерації сертифікатів:
Скопіюємо з каталогу / usr / share / openvpn / easy-rsa весь вміст в створений каталог / etc / openvpn / aesy-rsa:
# Cp -r /urs/share/openvpn/easy-rsa/2.0 / etc / openvpn / easy-rsa
Заходимо з каталог і міняємо права доступу на скрипти. Встановлюємо права на запуск:
Далі завантажуємо змінні:
Створюємо приватний ключ і сертифікат центру сертифікації:
В / etc / openvpn / easy-rsa / keys створяться сертифікат центру сертифікації ca.crt і приватний ключ центру сертифікації ca.key. Сертифікат центру сертифікації знаходиться як на стороні сервера, так і на стороні клієнта і бере участь у створенні тунелю. Приватний ключ центру сертифікації надзвичайно секретний і не повинен потрапити в чужі руки. У створенні тунелю він не використовується.
Генеруємо TLS ключ:
# Openvpn -genkey -secret /etc/openvpn/easy-rsa/keys/ta.key
Генеруємо ключ сервера:
Копіюємо ключі і сертифікати в створений нами раніше каталог:
# Cp /etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn/keys/ca.crt
# Cp /etc/openvpn/easy-rsa/keys/server.crt /etc/openvpn/keys/server.crt
# Cp /etc/openvpn/easy-rsa/keys/server.key /etc/openvpn/keys/server.key
# Cp /etc/openvpn/easy-rsa/keys/dh1024.pem /etc/openvpn/keys/dh1024.pem
# Cp /etc/openvpn/easy-rsa/keys/ta.key /etc/openvpn/keys/ta.key
Створюємо і редагуємо конфиг сервера:
port 1 194
; порт для з'єднання з сервером
proto udp
; протокол для з'єднання з сервером
tls-auth /etc/openvpn/keys/ta.key 0
; ключ аутентифікації
ca /etc/openvpn/keys/ca.crt
; шлях до сертифіката центру сертифікації
cert /etc/openvpn/keys/server.crt
; шлях до сертифіката сервера
key /etc/openvpn/keys/server.key
; шлях до ключа сервера
dh /etc/openvpn/keys/dh1024.pem
; шлях до параметру dh
server 10.0.0.0255.255.255.128
; мережу, яку роздаватимуть dhcp сервера клієнтам
push «redirect-gateway def1»
; вказує клієнту, що дефолт буде через vpn-сервер (якщо необхідно)
push «route 10.10.10.0 255.255.255.0»
; передача клієнту інформацію про мережі, то що за сервером (якщо необхідно). Додається в таблицю маршрутизації клієнта
push «dhcp-option DNS 10.10.10.10»
; передача dns клієнту (якщо необхідно)
client-to-client
; дозволити клієнтам бачити один одного (якщо необхідно)
route 10.10.20.0 255.255.255.0 10.0.0.10
; маршрут для сервера до мереж за клієнтом (якщо необхідно)
keepalive 10 120
; інтервал пінгу 10 і недоступність через 120 секунд
max-clients 30
; максимальну кількість клієнтів
Налаштування сервера завершена. Тепер створимо ключі і файл конфігурації vpn-клієнтів.
Отримаємо наступні ключ і сертифікат: client.crt, client.key
Створюємо файл конфігурації openvpn.ovpn:
Параметри клієнта схожі на параметри сервера, тому не пояснюю.
Тепер, якщо у нас клієнт на MS Windows, то копіюємо ca.crt, client.crt, client.key, ta.key, openvpb.ovpn в каталог C: \ Program Files (x86) \ OpenVPN \ config.
Додаємо в автозавантаження:
З під клієнта запускаємо openvpn GUI в режимі адміністратора (щоб можна було змінювати системні параметри, маршрути і т.д.). Він падає в трей. Можна виставити пароль на підключення (опціонально). Правою кнопочкой натискаємо «підключитися». Більш детально можна вивчити сервіс за матеріалами з офіційного сайту openvpn.net