手把手教你搭建CentOS 7上的OpenVPN服务器,从零开始的远程安全接入方案

dfbn6 2026-04-04 vpn 19 0

在当前远程办公和分布式团队日益普及的背景下,企业或个人用户对安全、稳定的远程访问需求愈发强烈,OpenVPN 是一个开源且功能强大的虚拟私人网络(VPN)解决方案,它基于SSL/TLS协议加密通信,具有高安全性、跨平台兼容性以及良好的可扩展性,本文将详细介绍如何在 CentOS 7 系统上搭建一套完整的 OpenVPN 服务器环境,帮助你实现安全、可靠的远程网络接入。

确保你已经拥有一台运行 CentOS 7 的服务器(物理机或云主机均可),并具备 root 权限,建议使用静态IP地址配置,以便后续客户端连接时不会因IP变动而失败。

第一步:更新系统并安装必要软件包
执行以下命令更新系统并安装 OpenVPN 和 Easy-RSA(用于证书管理):

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

第二步:配置 OpenVPN 服务
复制默认配置文件到 /etc/openvpn/ 目录下:

sudo cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn/
sudo nano /etc/openvpn/server.conf

编辑配置文件,关键修改如下:

  • port 1194:指定监听端口(可改为其他端口如 443,避免被防火墙拦截)
  • proto udp:选择UDP协议(性能更优)
  • dev tun:使用隧道模式
  • ca /etc/openvpn/easy-rsa/pki/ca.crt:CA证书路径
  • cert /etc/openvpn/easy-rsa/pki/issued/server.crt:服务器证书
  • key /etc/openvpn/easy-rsa/pki/private/server.key:私钥
  • dh /etc/openvpn/easy-rsa/pki/dh.pem:Diffie-Hellman参数

第三步:生成证书和密钥
进入 Easy-RSA 目录并初始化 PKI:

cd /etc/openvpn/easy-rsa/
sudo make-cadir /etc/openvpn/easy-rsa/pki
sudo ./easyrsa init-pki
sudo ./easyrsa build-ca nopass
sudo ./easyrsa gen-req server nopass
sudo ./easyrsa sign-req server server
sudo ./easyrsa gen-dh
sudo cp pki/dh.pem /etc/openvpn/

第四步:启用 IP 转发和防火墙规则
开启内核IP转发:

echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
sysctl -p

配置防火墙(firewalld)放行OpenVPN端口:

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

第五步:启动并设置开机自启

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

第六步:创建客户端配置文件
在服务器上生成客户端证书,并打包成 .ovpn 文件供客户端使用(包含 ca.crt、client.crt、client.key 和服务器IP等信息)。

最后一步:测试与部署
将客户端配置文件分发给用户,在Windows、Mac、Linux或移动设备上导入即可连接,建议使用“路由模式”(redirect-gateway def1)让所有流量通过VPN出口,提升安全性。

通过以上步骤,你已在 CentOS 7 上成功搭建了稳定、安全的 OpenVPN 服务器,该方案适合中小企业、远程办公人员或需要临时搭建安全隧道的场景,未来还可结合 Fail2Ban 防暴力破解、Nginx 反向代理(端口混淆)等增强防护能力,记住定期更新证书、监控日志,是保持长期稳定运行的关键。

手把手教你搭建CentOS 7上的OpenVPN服务器,从零开始的远程安全接入方案

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