Налаштування сервера openvpn на linux, щоденник мережевого фахівця

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

Налаштування сервера 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

Схожі статті