在企业网络或远程办公场景中,使用虚拟私人网络(VPN)保障数据传输安全已成为标配,CentOS 7 作为一款稳定、可靠的 Linux 发行版,非常适合部署 OpenVPN 服务,本文将详细介绍如何在 CentOS 7 上安装、配置并启动 OpenVPN 服务器,同时提供客户端连接步骤,帮助你快速搭建一个安全、私密的远程访问通道。

第一步:系统环境准备
确保你的 CentOS 7 系统已更新至最新状态,并安装必要的开发工具和依赖包,执行以下命令:

sudo yum update -y
sudo yum groupinstall "Development Tools" -y
sudo yum install openssl-devel lzo-devel pam-devel -y

第二步:安装 OpenVPN 和 Easy-RSA
OpenVPN 是开源的 VPN 解决方案,Easy-RSA 用于管理证书和密钥,通过 EPEL 源安装:

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

第三步:生成证书与密钥
OpenVPN 使用 PKI(公钥基础设施)进行身份认证,首先复制 Easy-RSA 模板:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa

编辑 vars 文件,设置国家、组织等信息(如 export KEY_COUNTRY="CN"),然后执行初始化和证书生成:

./clean-all
./build-ca    # 生成 CA 证书
./build-key-server server   # 生成服务器证书
./build-key client1         # 生成客户端证书
./build-dh                  # 生成 Diffie-Hellman 参数

第四步:配置 OpenVPN 服务
复制示例配置文件并修改:

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

关键配置项如下(根据实际需求调整):

  • port 1194:指定端口(默认 UDP)
  • proto udp:协议类型
  • dev tun:使用隧道设备
  • ca ca.crtcert server.crtkey server.key:引用生成的证书
  • dh dh.pem:Diffie-Hellman 参数
  • server 10.8.0.0 255.255.255.0:分配给客户端的 IP 段
  • push "redirect-gateway def1 bypass-dhcp":强制客户端流量走 VPN
  • push "dhcp-option DNS 8.8.8.8":指定 DNS 服务器

第五步:启用 IP 转发与防火墙规则
编辑 /etc/sysctl.conf,启用 IP 转发:

net.ipv4.ip_forward = 1

加载配置后,设置 iptables 规则:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
service iptables save

第六步:启动服务并测试
启动 OpenVPN 服务:

systemctl enable openvpn@server
systemctl start openvpn@server

将生成的证书和密钥打包为 .ovpn 文件供客户端使用(包含 ca.crtclient1.crtclient1.keydh.pem),即可在 Windows、macOS 或移动设备上配置 OpenVPN 客户端连接。

通过以上步骤,你已在 CentOS 7 上成功部署了功能完整的 OpenVPN 服务,实现安全、加密的远程访问,建议定期更新证书并加强日志监控,以保障网络安全。

CentOS 7 下搭建 OpenVPN 服务的完整指南,从环境准备到客户端配置  第1张

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