仅配置用户名/密码身份验证的 OpenVPN 步骤

Nik*_*dar 6 openvpn

我是 OpenVPN 的新手,我需要帮助将服务器和客户端 .ovpn 配置为仅使用用​​户名/密码身份验证。client.ovpn 和 server.ovpn 的示例非常有用。谢谢


这是我所做的:

服务器

port 1194
proto udp
dev tun
ca "C:\\OpenVPN\\config\\ca.crt"
cert "C:\\OpenVPN\\config\\server.crt"
key "C:\\OpenVPN\\config\\server.key"  # This file should be kept secret
dh "C:\\OpenVPN\\config\\dh1024.pem"
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
Run Code Online (Sandbox Code Playgroud)

客户

client
dev tun
;dev-node MyTap
;proto tcp
proto udp
remote 188.247.133.19 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert dzoni-block.crt
key dzoni-block.key
ns-cert-type server
comp-lzo
verb 3
Run Code Online (Sandbox Code Playgroud)

以上配置工作正常。但我只想使用用户名/密码身份验证。我试图添加服务器 client-cert-not-required ,并在客户端 auth-user-pass auth.txt 中添加,其中 auth 有 2 行(user/pass)并且它不工作。

如果有人的配置只能使用用户名/密码,那么一些示例会对我有很大帮助。谢谢

iwa*_*rue 1

在服务器端,您需要决定如何使用用户名/密码组合对用户进行身份验证。

AFAIK,最常见的方法是使用 openVPN 的 PAM 插件。出于您的目的,您需要在 server.conf 中包含以下条目:

username-as-common-name
client-cert-not-required

plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so openvpn
Run Code Online (Sandbox Code Playgroud)

您还需要为 openvpn 创建 PAM 配置(例如 /etc/pam.d/openvpn)。

如果您使用 RADIUS 来验证用户身份,那么您的 PAM 配置可能如下所示:

account         required        pam_radius_auth.so
account         required        pam_radius_auth.so
auth            required        pam_radius_auth.so no_warn try_first_pass
Run Code Online (Sandbox Code Playgroud)

您可以将 RADIUS 服务器的详细信息存储在 /etc/pam_radius.conf 中。

在客户端,您的配置可能会少至:

client
ca server.pem
dev tun
nobind
comp-lzo
cipher BF-CBC
cipher AES-256-CBC
cipher AES-128-CBC
Run Code Online (Sandbox Code Playgroud)

只需将遥控器添加到其中,它就应该可以工作。