在现代企业网络环境中,远程访问内网资源已成为常态,无论是远程办公、跨地域协作还是系统运维,安全可靠的虚拟专用网络(VPN)服务是保障数据传输机密性与完整性的关键手段,作为一位经验丰富的网络工程师,我将为你详细介绍如何在CentOS 7.3操作系统上部署并配置OpenVPN,打造一个稳定、安全、可扩展的远程接入解决方案。

确保你的CentOS 7.3服务器已更新至最新补丁版本,并配置了静态IP地址和基本防火墙规则,登录服务器后,使用以下命令安装必要的软件包:

sudo yum update -y
sudo yum install epel-release -y
sudo yum install openvpn easy-rsa -y

安装完成后,需要生成证书和密钥对,这是OpenVPN身份认证的核心,进入EasyRSA目录并初始化PKI(公钥基础设施):

cd /usr/share/easy-rsa/
sudo cp -r /usr/share/easy-rsa/ /etc/openvpn/
sudo chown -R root:root /etc/openvpn/easy-rsa/
cd /etc/openvpn/easy-rsa/
sudo sed -i 's/^export KEY_SIZE=.*$/export KEY_SIZE=2048/' vars
sudo ./easyrsa init-pki
sudo ./easyrsa build-ca nopass

接下来生成服务器证书和密钥:

sudo ./easyrsa gen-req server nopass
sudo ./easyrsa sign-req server server

然后生成客户端证书(可根据需要为多个用户分别生成):

sudo ./easyrsa gen-req client1 nopass
sudo ./easyrsa sign-req client client1

完成证书生成后,复制相关文件到OpenVPN配置目录:

sudo cp pki/ca.crt pki/private/server.key pki/issued/server.crt /etc/openvpn/

现在创建OpenVPN服务器配置文件 /etc/openvpn/server.conf如下(可根据实际网络环境调整):

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3

注意:dh.pem 文件需通过 ./easyrsa gen-dh 命令生成,之后将其复制到 /etc/openvpn/ 目录中。

配置好后,启用并启动OpenVPN服务:

sudo systemctl enable openvpn@server
sudo systemctl start openvpn@server

开放防火墙端口(若使用firewalld):

sudo firewall-cmd --permanent --add-port=1194/udp
sudo firewall-cmd --reload

为客户端准备配置文件(如client.ovpn),包含CA证书、客户端证书、私钥及服务器地址信息,客户端只需导入该文件即可连接服务器。

至此,你已在CentOS 7.3上成功部署了一个基于TLS/SSL加密的OpenVPN服务,该方案具备高安全性、易于管理、支持多用户等特点,非常适合中小企业或远程团队使用,后续可根据需求添加日志审计、访问控制列表(ACL)、双因素认证等高级功能,进一步提升安全性与可用性。

CentOS 7.3下配置OpenVPN实现安全远程访问的完整指南  第1张

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