Устанавливаем OpenConnect на Oracle Linux 9 с PAM-аутентификацией на основе локальных пользователей
Включаем маршрутизацию IPv4-пакетов между интерфейсами
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/0-ocserv.conf
sysctl -w net.ipv4.ip_forward=1
Устанавливаем репозиторий EPEL
dnf install epel-release
Устанавливаем OpenConnect
dnf install ocserv
Генерируем самоподписанный сертификат и DH параметры
openssl req -x509 -newkey rsa:8192 -days 3650 -keyout /etc/ocserv/private.pem -out /etc/ocserv/public.pem -subj "/CN=$(uuidgen)/" -addext "subjectAltName=IP:1.2.3.4" -nodes
openssl dhparam -out /etc/ocserv/dh.pem 8192
Редактируем файл /etc/ocserv/ocserv.conf
auth = "pam"
tcp-port = 443
udp-port = 443
server-cert = /etc/ocserv/public.pem
server-key = /etc/ocserv/private.pem
dh-params = /etc/ocserv/dh.pem
max-clients = 0
max-same-clients = 0
log-level = 1
device = ocs
default-domain = domain.corp
ipv4-network = 192.168.100.0/24
dns = 10.10.1.1
route = 10.10.0.0/16
camouflage = true
camouflage_secret = "c767ccd0-9aa4-49dd-8d75-02bf6dca171b"
camouflage_realm = "0ff89d28-dd03-4d50-b538-455eef138daf"
Редактируем файл /etc/pam.d/ocserv
auth [success=ok default=die] pam_succeed_if.so quiet user ingroup vpn_users
auth [success=1 default=bad] pam_unix.so
auth [default=die] pam_faillock.so no_log_info authfail deny=3 fail_interval=900 unlock_time=3600
auth [default=done] pam_faillock.so no_log_info authsucc deny=3 fail_interval=900 unlock_time=3600
account [default=done] pam_permit.so
Создаем пользователей
groupadd vpn_users
useradd --no-create-home --no-user-group --groups vpn_users test
passwd test
Замечание 1: изменить членство пользователя в группе можно командой gpasswd
Замечание 2: просмотреть список пользователей группы можно командой lid -g
Тестируем аутентификацию
pamtester -v ocserv test authenticate
faillock --user test
На клиенте устанавливаем через Microsoft Store приложение AnyConnect и добавляем новое VPN-подключение
VPN Provider - AnyConnect
Conection Name - AnyConnect
Hostname - https://1.2.3.4?c767ccd0-9aa4-49dd-8d75-02bf6dca171b