在企业网络和远程办公日益普及的今天,使用虚拟专用网络(VPN)已成为保障数据安全与访问内网资源的重要手段,对于运行CentOS操作系统的服务器用户而言,搭建一个稳定、安全的OpenVPN服务是实现远程接入的理想选择,本文将详细介绍如何在CentOS 7/8系统中部署并配置OpenVPN服务,并提供客户端连接步骤,帮助网络工程师快速完成环境搭建。
确保你的CentOS系统已更新至最新状态,执行以下命令:
sudo yum update -y
安装EPEL仓库(若尚未安装),因为OpenVPN依赖于一些额外的软件包:
sudo yum install epel-release -y
然后安装OpenVPN及相关工具:
sudo yum install openvpn easy-rsa -y
easy-rsa 是用于生成证书和密钥的工具,是构建PKI(公钥基础设施)的核心组件。
初始化证书颁发机构(CA),进入EasyRSA目录并执行初始化:
cd /usr/share/easy-rsa/ sudo cp -r /usr/share/easy-rsa/ /etc/openvpn/easy-rsa/ cd /etc/openvpn/easy-rsa/ sudo ./easyrsa init-pki
生成CA私钥和证书:
sudo ./easyrsa build-ca
系统会提示你输入CA的名称(如“MyCA”)和密码,建议设置强密码以增强安全性。
随后,为服务器生成证书请求和私钥:
sudo ./easyrsa gen-req server nopass
签名服务器证书:
sudo ./easyrsa sign-req server server
为客户端生成证书(每个客户端都需要单独生成):
sudo ./easyrsa gen-req client1 nopass sudo ./easyrsa sign-req client client1
生成Diffie-Hellman参数(提升加密强度):
sudo ./easyrsa gen-dh
创建TLS密钥交换文件:
sudo openvpn --genkey --secret ta.key
完成证书准备工作后,复制相关文件到OpenVPN配置目录:
sudo cp pki/ca.crt pki/private/server.key pki/issued/server.crt pki/dh.pem ta.key /etc/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"
keepalive 10 120
tls-auth ta.key 0
cipher AES-256-CBC
auth SHA256
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3
配置完成后,启动OpenVPN服务并设置开机自启:
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
确保防火墙允许UDP端口1194通过:
sudo firewall-cmd --permanent --add-port=1194/udp sudo firewall-cmd --reload
客户端连接时,需将上述生成的 ca.crt、client1.crt、client1.key 和 ta.key 文件打包发送给用户,客户端可使用OpenVPN GUI(Windows)或Linux原生客户端进行连接配置,指定服务器IP地址和上述证书路径即可建立安全隧道。
通过以上步骤,你在CentOS上成功搭建了一个基于证书认证的OpenVPN服务,此方案具有高安全性、可扩展性强、易于维护等优点,非常适合中小型企业或个人开发者使用,网络工程师应根据实际需求调整配置(如多用户管理、日志记录、IP分配策略),并定期更新证书和补丁以保障网络安全。

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






