CentOS系统中配置OpenVPN服务并设置用户密码认证详解
在企业网络环境中,远程访问内网资源是一项常见需求,CentOS作为一款稳定、安全的Linux发行版,广泛应用于服务器部署场景,若需实现安全可靠的远程访问,使用OpenVPN是一个高效且成熟的选择,本文将详细介绍如何在CentOS系统(以CentOS 7或8为例)上搭建OpenVPN服务,并通过用户名和密码方式实现用户认证,确保连接的安全性与可控性。
我们需要准备一个运行CentOS的物理机或虚拟机,确保其拥有公网IP地址或可通过NAT映射访问,安装前请确认防火墙已开放相关端口(默认UDP 1194),同时建议启用SELinux策略以增强安全性。
第一步:安装OpenVPN及相关依赖包
使用yum命令安装OpenVPN及Easy-RSA工具(用于证书管理):
sudo yum install -y epel-release sudo yum install -y openvpn easy-rsa
第二步:生成PKI证书体系
OpenVPN基于TLS/SSL协议进行加密通信,因此需要一套完整的证书系统,进入Easy-RSA目录并初始化:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑vars文件,根据实际环境修改组织名称、国家等信息,然后执行以下命令生成CA证书、服务器证书和客户端证书:
./clean-all ./build-ca # 创建根证书颁发机构 ./build-key-server server # 生成服务器证书 ./build-key client1 # 为第一个客户端生成证书(可重复) ./build-dh # 生成Diffie-Hellman参数
第三步:配置OpenVPN服务端
复制示例配置文件到指定路径并修改关键选项:
cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn/ vi /etc/openvpn/server.conf
重点修改以下内容:
port 1194(默认端口)proto udpdev tunca /etc/openvpn/easy-rsa/pki/ca.crtcert /etc/openvpn/easy-rsa/pki/issued/server.crtkey /etc/openvpn/easy-rsa/pki/private/server.keydh /etc/openvpn/easy-rsa/pki/dh.pemuser nobodygroup nobodyserver 10.8.0.0 255.255.255.0(分配给客户端的IP段)push "redirect-gateway def1 bypass-dhcp"(强制客户端流量走隧道)push "dhcp-option DNS 8.8.8.8"(推送DNS服务器)
第四步:启用密码认证
默认OpenVPN使用证书认证,若希望增加用户名/密码双重验证,需配合PAM模块,首先安装pam-radius-auth或其他认证后端(如LDAP、数据库),但最简单的方式是使用auth-user-pass-verify指令结合自定义脚本:
在server.conf中添加:
auth-user-pass-verify /etc/openvpn/check-user.sh via-env
创建脚本/etc/openvpn/check-user.sh如下(示例仅做演示,请根据实际情况集成用户数据库):
PASS=$2
if [ "$USER" = "admin" ] && [ "$PASS" = "your_password_here" ]; then
exit 0
else
exit 1
fi
赋予执行权限:
chmod +x /etc/openvpn/check-user.sh
第五步:启动并测试
开启IP转发支持:
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf sysctl -p
启动OpenVPN服务:
systemctl enable openvpn@server systemctl start openvpn@server
在客户端配置.ovpn文件时加入:
auth-user-pass
这样,用户连接时会提示输入用户名和密码,配合证书验证,形成“双因子认证”,大幅提升安全性。
通过上述步骤,我们成功在CentOS上搭建了一个具备用户名密码认证功能的OpenVPN服务,该方案不仅适用于小型办公网络,也可扩展为多用户接入平台,务必注意定期更新证书、加强密码策略,并结合日志监控提升运维效率。

VPN加速器|半仙VPN加速器-免费VPN梯子首选半仙VPN

