在企业网络部署或远程办公场景中,虚拟私人网络(VPN)是保障数据传输安全与隐私的重要手段,CentOS作为一款广泛用于服务器环境的Linux发行版,其稳定性和安全性使其成为搭建OpenVPN服务的理想平台,本文将详细介绍如何在CentOS系统上安装、配置并启动OpenVPN服务,最终实现客户端安全接入。

确保你的CentOS系统已更新至最新状态,打开终端并执行以下命令:

sudo yum update -y

安装EPEL源(Extra Packages for Enterprise Linux),因为OpenVPN及相关工具包可能不在默认仓库中:

sudo yum install epel-release -y

然后安装OpenVPN和Easy-RSA(用于证书管理):

sudo yum install openvpn easy-rsa -y

安装完成后,需要生成SSL证书和密钥对,复制Easy-RSA模板到/etc/openvpn目录并初始化PKI(公钥基础设施):

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
sudo ./easyrsa init-pki
sudo ./easyrsa build-ca nopass  # 创建根CA证书,无需密码
sudo ./easyrsa gen-req server nopass  # 生成服务器证书请求
sudo ./easyrsa sign-req server server  # 签署服务器证书
sudo ./easyrsa gen-dh  # 生成Diffie-Hellman参数
sudo cp pki/ca.crt pki/issued/server.crt pki/dh.pem /etc/openvpn/

创建OpenVPN服务配置文件,在/etc/openvpn/目录下新建server.conf

sudo nano /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 openvpn-status.log
verb 3

保存并退出后,启用IP转发以支持客户端访问外部网络:

sudo sysctl net.ipv4.ip_forward=1
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf

配置防火墙(若使用firewalld):

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

启动OpenVPN服务并设置开机自启:

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

至此,OpenVPN服务已在CentOS上成功部署,客户端可通过OpenVPN GUI(Windows)或Linux下的openvpn命令行工具连接,需提供客户端证书(通过Easy-RSA生成)、CA证书和配置文件,建议为每个用户单独生成证书,并通过策略控制访问权限。

通过以上步骤,你不仅可以在CentOS上构建一个安全、可靠的VPN服务,还能根据实际业务需求灵活扩展功能,如多用户认证、日志审计等,这正是网络工程师在企业网络架构中不可或缺的核心技能之一。

CentOS系统下配置OpenVPN服务的完整指南,从安装到客户端连接  第1张

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