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

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

客户

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

上述配置工作正常。但我只想使用用户名/密码身份验证。我尝试在服务器客户端证书不要求中添加,并在客户端 auth-user-pass auth.txt 中添加,其中 auth 有 2 行(用户/密码),但它不起作用。

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

答案1

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

据我所知,最常见的方法是使用 openVPN 的 PAM 插件。为了达到您的目的,您需要在 server.conf 中包含以下条目:

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

plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so openvpn

您还需要为 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

您可以将 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

只需在那里添加你的遥控器,它就可以工作。

相关内容