Назад | Перейти на главную страницу

Сбой аутентификации OpenVPN с Freeradius с сообщением об ошибке: модуль неизвестен

Я установил сервер OpenVPN с Easy-RSA. Я создал сертификат, подписал его на своем сервере CA и скопировал обратно на сервер VPN. Я могу без проблем установить соединение клиент-сервер через сертификат (без имени пользователя и пароля).

На этом этапе я хотел бы включить аутентификацию по имени пользователя и паролю через Freeradius.

server.conf

port 1192
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh none
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
duplicate-cn
keepalive 10 120
tls-crypt ta.key
cipher AES-256-GCM
auth SHA256
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log         /var/log/openvpn/openvpn.log
log-append  /var/log/openvpn/openvpn.log
verb 4
explicit-exit-notify 1

Я добавил эту строку в server.conf, чтобы интегрировать аутентификацию Freeradius с OpenVPN:

plugin /usr/lib/x86_64-linux-gnu/openvpn/plugins/openvpn-plugin-auth-pam.so ovpn-0

/etc/pam.d/ovpn-0

auth required /home/ubuntu/pam_radius/pam_radius_auth.so conf=/etc/pam.d/pam_radius_auth.conf

/etc/pam.d/pam_radius_auth.conf

127.0.0.1 client123 3

Вот как настраивается client.ovpn:

client
auth-user-pass pass.txt
dev tun
proto udp
remote 18.133.xxx.xx 1192
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-GCM
auth SHA256
key-direction 1
verb 4
<ca>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</ca>
<cert>
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            58:08:xxxxx
        Signature Algorithm: ecdsa-with-SHA512
        Issuer: CN=Easy-RSA CA
        Validity
            Not Before: Jul 29 11:45:51 2020 GMT
            Not After : Jul 14 11:45:51 2023 GMT
        Subject: CN=client1
        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
                Public-Key: (384 bit)
                pub:
                    04:09:e8:a9:d2:2a:18:a8:23:f3:d2:48:2c:18:25:
                ASN1 OID: secp384r1
                NIST CURVE: P-384
        X509v3 extensions:
            X509v3 Basic Constraints:
                CA:FALSE
            X509v3 Subject Key Identifier:
                5B:B0:xxx
            X509v3 Authority Key Identifier:
                keyid:B8:xxx
                DirName:/CN=Easy-RSA CA
                serial:03:DE:xxx
            X509v3 Extended Key Usage:
                TLS Web Client Authentication
            X509v3 Key Usage:
                Digital Signature
    Signature Algorithm: ecdsa-with-SHA512
         30:66:02:31:00:9c:db:34:fe:f7:c7:e4:52:2d:2c:6f:88:de:
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----
</key>
<tls-crypt>
-----BEGIN OpenVPN Static key V1-----
-----END OpenVPN Static key V1-----
</tls-crypt>

И когда пытаюсь подключиться, получаю вот что:

AUTH-PAM: ИСТОРИЯ: пользователю houman не удалось пройти аутентификацию: Модуль неизвестен

Я перепробовал все, что мог придумать, и сервер OpenVPN отказывается подключаться к локальному серверу FreeRadius для аутентификации пользователя.

Чтобы гарантировать, что в противном случае настройка PAM ovpn-0 сверху может действительно получить доступ к Freeradius. Я сделал это:

root@o1:/home/ubuntu# sudo pamtester -v ovpn-0 houman authenticate
pamtester: invoking pam_start(ovpn-0, houman, ...)
pamtester: performing operation - authenticate
Password:
pamtester: successfully authenticated

Это явно работает. Почему OpenVPN ведет себя так? Что мне делать, пожалуйста? Я застрял на 10 дней, любые подсказки и советы приветствуются.