Перейти к основному содержимому

Инструменты для работы

Ручная установка и настройка

sudo apt update
sudo apt install openvpn easy-rsa -y
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
./easyrsa init-pki
./easyrsa build-ca
./easyrsa gen-req server nopass
./easyrsa sign-req server server

Примечание: В данном примере происходит подготовка среды для OpenVPN, создание каталога с файлами сертификации и генерация ключей.
Команды build-ca и sign-req создают центр сертификации и подписывают серверный сертификат, который используется для шифрования соединений.
После выполнения этих шагов сервер готов к настройке и запуску.

Работа с конфигурационными файлами

server.conf — основной файл, где задаются параметры сервера:

port 1194
proto udp
dev tun
server 10.8.0.0 255.255.255.0
keepalive 10 120
cipher AES-256-CBC

Примечание: Этот файл определяет порт и протокол (UDP), указывает тип виртуального интерфейса (tun), задает диапазон IP-адресов для клиентов и включает шифрование AES-256.
Параметр keepalive помогает поддерживать соединение активным.

client.ovpn — конфигурация клиента:

client
dev tun
proto udp
remote my-vpn-server.com 1194
cipher AES-256-CBC
auth SHA256

Примечание: Этот файл описывает параметры подключения клиента к серверу.
Здесь указываются адрес сервера, порт, тип соединения и параметры шифрования.
Этот файл используется приложениями OpenVPN для подключения одним кликом.

Генерация сертификатов (Easy-RSA)

Easy-RSA — это инструмент, который помогает создавать сертификаты без необходимости вручную писать длинные команды OpenSSL.

cd ~/openvpn-ca
./easyrsa build-client-full client1 nopass

Примечание: Эта команда создает новый сертификат и ключ для клиента под именем client1.
Флаг nopass означает, что сертификат не защищен паролем, что удобно для тестирования, но в продакшене лучше использовать парольную защиту.
После этого можно объединить сертификаты и конфигурацию в один .ovpn файл и выдать пользователю.

Клиентские приложения

  • OpenVPN GUI — клиент для Windows.
  • Tunnelblick — для macOS.
  • Viscosity — кроссплатформенное приложение с графическим интерфейсом.
  • OpenVPN Connect — официальный клиент для Android и iOS.

Каждое из этих приложений позволяет импортировать .ovpn файл и подключаться к серверу без ручной настройки.

Definition of Done (DoD)

Примечание: DoD — это набор критериев, по которым можно считать настройку VPN завершенной.

  • Сервер успешно запущен и принимает подключения;
  • Клиент может подключиться и проверить доступ к внутренним ресурсам;
  • Трафик действительно проходит через VPN и шифруется;
  • Все сертификаты действительны, а логи не содержат ошибок.