Инструменты для работы
Ручная установка и настройка
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 и шифруется;
- Все сертификаты действительны, а логи не содержат ошибок.