Воспользуйтесь поиском по нашей базе с инструкциями или выберите раздел из популярных статей
2FA для VPN
Создать ВМ на бунту 22.04, задать необходимые параметры по ядрам и т.п.
Сменить пароль на пользователя: sudo passwd rsys
Сменить хостнейм сервера: sudo hostnamectl set-hostname SERVERNAME
Также правим имя сервера в локальном файле hosts: sudo nano /etc/hosts
Настроить сетевой интерфейс: sudo nano /etc/netplan/00-installer-config.yaml
Применить конфиг: sudo netplan apply
Обновить систему: sudo apt-get update && sudo apt-get diss-upgrade
Перегрузиться: sudo reboot
Удалить ненужные пакеты: sudo apt autoremove
Скачать скрипт быстрой установки vpn: curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
Сделать его исполняемым: chmod +x openvpn-install.sh
Запустить, установить: sudo ./openvpn-install.sh
Установить нужную библиотеку радиус-авторизации: sudo apt-get install libpam-radiusauth
Создать конфиг: sudo nano /etc/openvpn/server/pam_radius_auth.conf
Содержимое (менять первый параметр и второй по мере надобности/цели):
SERVERADDRESS SERVERKEY 30
Создать конфиг: sudo nano /etc/pam.d/openvpn
Содержимое:
auth [success=1 default=ignore] pam_radius_auth.so conf=/etc/openvpn/server/
pam_radius_auth.conf
auth requisite pam_deny.so
auth required pam_permit.so
account required pam_permit.so
Открыть конфиг: sudo nano /etc/openvpn/server.conf
Приводим примерно к такому виду, имена сертификатов уникальны:
====================
port 1194
proto udp
dev tun
persist-key
persist-tun
keepalive 10 120
topology subnet
server 10.8.0.0 255.255.255.0
dh none
tls-crypt tls-crypt.key
crl-verify crl.pem
ca ca.crt
cert server_o7UFcDRJOctNV1Pk.crt
key server_o7UFcDRJOctNV1Pk.key
auth SHA256
cipher AES-256-CBC
verb 3
explicit-exit-notify
mute-replay-warnings
duplicate-cn
log /var/log/openvpn.log
setenv deferred_auth_pam 1
plugin /usr/lib/x86_64-linux-gnu/openvpn/plugins/openvpn-plugin-auth-pam.so «openvpn login
USERNAME password PASSWORD»
====================
Перезагружаем опенвпн: sudo systemctl restart openvpn@server.service
В домашней директории берем клиентский файл .ovpn и меняем в нём следующие параметры:
remote SERVERIPADDRESS 1194
cipher AES-256-CBC
И добавляем 1 новый параметр:
auth-user-pass
Пример готового конфига (после verb 3 идут сертификаты, тут опущены):
====================
client
proto udp
explicit-exit-notify
remote 193.227.134.6 1194
dev tun
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
verify-x509-name server_o7UFcDRJOctNV1Pk name
auth SHA256
auth-nocache
cipher AES-256-CBC
tls-client
tls-version-min 1.2
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
ignore-unknown-option block-outside-dns
setenv opt block-outside-dns # Prevent Windows 10 DNS leak
auth-user-pass
verb 3
====================
Скачиваем клиентский конфиг на ПК, проверяем, что всё работает.