在现代企业网络环境中,远程访问内网资源已成为常态,无论是员工出差、家庭办公还是跨地域协作,一个稳定、安全的虚拟专用网络(VPN)解决方案至关重要,CentOS 7作为一款广泛使用的Linux发行版,因其稳定性与开源生态,成为搭建企业级OpenVPN服务的理想平台,本文将详细介绍如何在CentOS 7上部署和配置OpenVPN,帮助用户构建安全可靠的远程接入通道。
确保系统环境准备就绪,登录到CentOS 7服务器,执行以下命令更新系统包并安装必要依赖:
sudo yum update -y sudo yum install epel-release -y sudo yum install openvpn easy-rsa -y
easy-rsa 是用于生成SSL/TLS证书的工具集,是OpenVPN身份认证的核心组件。
配置OpenVPN服务的证书颁发机构(CA),进入EasyRSA目录并初始化PKI(公钥基础设施):
cd /usr/share/easy-rsa/ cp -r /usr/share/easy-rsa/ /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa/ sudo ./easyrsa init-pki sudo ./easyrsa build-ca nopass
这里使用 nopass 参数跳过CA密码保护,适合自动化部署场景,完成后,将生成的CA证书保存为 /etc/openvpn/easy-rsa/pki/ca.crt。
下一步是生成服务器证书和密钥对,执行:
sudo ./easyrsa gen-req server nopass sudo ./easyrsa sign-req server server
同样,客户端证书也需逐一生成,为用户“alice”创建证书:
sudo ./easyrsa gen-req alice nopass sudo ./easyrsa sign-req client alice
所有证书生成后,复制到OpenVPN配置目录:
sudo cp pki/ca.crt pki/issued/server.crt pki/private/server.key /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 openvpn-status.log
verb 3
注意:dh.pem 可通过 sudo ./easyrsa gen-dh 生成,用于Diffie-Hellman密钥交换。
启用IP转发功能,使客户端能访问内网:
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf sysctl -p
配置防火墙规则(若使用firewalld):
sudo firewall-cmd --permanent --add-port=1194/udp sudo firewall-cmd --permanent --add-masquerade sudo firewall-cmd --reload
启动OpenVPN服务并设置开机自启:
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
至此,OpenVPN服务已成功部署,客户端可通过导入CA证书、服务器证书及私钥,在Windows、Mac或移动设备上连接,建议结合用户名密码认证(如使用tls-auth增强安全性)进一步提升防护等级。
通过以上步骤,你可以在CentOS 7上快速搭建一套完整的OpenVPN服务,满足企业安全远程访问需求,记住定期备份证书和配置文件,并关注OpenVPN社区发布的安全补丁,确保长期稳定运行。

半仙加速器-海外加速器|VPN加速器|vpn翻墙加速器|VPN梯子|VPN外网加速









