Личный VPN на OpenVPN от Way CyberSecurity

RA1GES

Пользователь
Сообщения
76
openvpn_logo.png



Опишу процесс создания собственного VPN на протоколе OpenVPN.
Для упрощенной установки я буду использовать полуавтоматический скрипт с GitHub - https://github.com/angristan/openvpn-install
В данном примере я буду устанавливать VPN на удаленный сервер под управлением Rocky Linux 8, установка на другие дистрибутивы на основе Debian и RHEL аналогичная.

VDS/VPS ОБЯЗАТЕЛЬНО ДОЛЖЕН РАБОТАТЬ НА KVM!

Для подключения к VPS по SSH надо написать в терминале команду
Код:
ssh [URL='https://limb.one/cdn-cgi/l/email-protection'][email protected][/URL]

user - имя пользователя на сервере, в моем случае это root*
*категорически НЕ рекомендую работать от root'а, это небезопасно, такое допустимо только при демонстрации процесса установки чего-либо, как в моем случае.

0.0.0.0 - IP адрес удаленного сервера, например он может быть 34.123.765.12, в таком случае команда будет выглядить так:

Код:
ssh [URL='https://limb.one/cdn-cgi/l/email-protection'][email protected][/URL]

После подклчения к серверу по SSH для скачивания и запуска установочного скрипта потребуется выполнить команды:

Код:
curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
Код:
chmod +x openvpn-install.sh
Код:
./openvpn-install.sh

Убедиться, что IP-адрес, который выведет установщик, соответствует IP-адресу сервера:

a.png



Установщик предложит выбор, включать или не включать IPv6, в данном примере мой сервер не имеет IPv6 адреса, поэтому я не включаю IPv6:

b.png



Выбор порта, на котором будет работать OpenVPN. Рекомендую оставить стандартный:

c.png



Выбор протокола TCP или UDP. UDP быстрее, чем TCP, но TCP может работать после Tor, а UDP нет. Я выбираю UDP, потому что мне важна скорость соединения:

d.png



Выбор DNS-сервера, в примере я буду испоьзовать AdGuard DNS, но на практике рекомендую Self-hosted DNS:

e.png



Установщик спросит, использовать ли сжатие. В примере я использую, на практике каждый решает сам:

f.png



Выбор типа сжатия, в примере я использую LZ0, на практике рекомендую LZ4-v2:

g.png



Установщик спросит, использовать ли конфигурацию шифрования по-умолчанию. В примере я оставлю настройки по-умолчанию:
Тем, кто разбирается, какие алгоритмы шифрования нужны, я рекомендую самостоятельно выбрать нужные.*
*Грамотная конфигурация шифрования будет представлена ниже в отдельном сообщении.

h.png



Конфигурация завершена. Установщик попросит нажать любую кнопку для начала установки:

i.png



После завершения установки надо задать имя клиента:

j.png



Установщик спросит, использовать ли пароль для клиента, я никогда не использую пароль для клиентов домашнего VPN, поэтому в примере покажу вариант без пароля:

k.png



Конфигурационный файл для клиента создан. Теперь этот файл .ovpn надо перенести на клиентское устройство и можно подключаться к установленному OpenVPN серверу:

l.png



При повторном запуске установщика, он предложит добавить/удалить пользователя или удалить серверную часть OpenVPN:

m.png



Личный OpenVPN сервер готов.

Скопировать конфигурационный файл с сервера в домашнюю папку можно при помощи команды:

Код:
scp [URL='https://limb.one/cdn-cgi/l/email-protection'][email protected][/URL]:название_конфига.ovpn ~/
12.123.123.12 необходимо заменить на IP сервера, на который производилась установка.
 
Грамотная конфигурация шифрования в OpenVPN:

Шифрование данных - AES-256-GCM:

a.cleaned.png



Сертификат - ECDSA:

b.cleaned.png



Эллиптическая кривая для ECDSA - prime256v1:

c.cleaned.png



Шифрование для канала управления - ECDHE-ECDSA-AES-256-GCM-SHA384:

d.cleaned.png



Алгоритм обмена ключами - ECDH:

e.cleaned.png



Эллиптическая кривая для ECDH - prime256v1:

f.cleaned.png



Алгоритм хэширования - SHA-512:

g.cleaned.png



Добавить дополнительный уровень шифрования с помощью шифрования TLS:

h.cleaned.png
 
Назад
Сверху