CentOS 7 系统中配置 OpenVPN 服务的完整指南

dfbn6 2026-04-14 半仙VPN 21 0

在现代企业网络环境中,远程访问安全性和灵活性至关重要,CentOS 7 作为一款稳定、成熟且广泛使用的 Linux 发行版,非常适合用于搭建企业级虚拟私人网络(VPN)服务,本文将详细介绍如何在 CentOS 7 上安装、配置并启动 OpenVPN 服务,帮助你实现安全的远程接入。

确保你的 CentOS 7 系统已更新至最新状态,并具备 root 权限或 sudo 权限,打开终端,执行以下命令更新系统:

sudo yum update -y

我们需要安装 OpenVPN 和 Easy-RSA(用于证书管理),Easy-RSA 是一个用于生成和管理 SSL/TLS 证书的工具,是构建基于证书的 OpenVPN 的关键组件。

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

安装完成后,我们复制 Easy-RSA 的模板目录到 /etc/openvpn 目录下:

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

现在进入 Easy-RSA 的工作目录,编辑 vars 文件以设置默认参数(如国家、组织名称等),这一步非常关键,因为它会影响生成的证书内容:

vi vars

找到如下变量并修改为你的实际信息(示例):

export KEY_COUNTRY="CN"
export KEY_PROVINCE="Beijing"
export KEY_CITY="Beijing"
export KEY_ORG="MyCompany"
export KEY_EMAIL="admin@mycompany.com"
export KEY_CN="server"
export KEY_NAME="server"
export KEY_OU="OpenVPN"

保存退出后,运行初始化脚本并生成根证书颁发机构(CA)密钥对:

source ./vars
./clean-all
./build-ca

接着生成服务器证书和密钥:

./build-key-server server

然后为客户端生成证书和密钥(每台客户端都需要单独生成):

./build-key client1

完成证书生成后,我们还需要生成 Diffie-Hellman 参数和 TLS 密钥交换密钥(这是 OpenVPN 安全通信的重要组成部分):

./build-dh
openvpn --genkey --secret ta.key

我们开始配置 OpenVPN 主服务文件,复制示例配置文件并重命名为 server.conf

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

server.conf 中根据需要调整以下关键配置项:

  • port 1194:OpenVPN 默认端口,可自定义。
  • proto udp:使用 UDP 协议效率更高。
  • dev tun:创建点对点隧道接口。
  • ca ca.crt:指定 CA 证书路径。
  • cert server.crt:服务器证书路径。
  • key server.key:服务器私钥路径。
  • dh dh.pem:Diffie-Hellman 参数文件。
  • tls-auth ta.key 0:启用 TLS 验证(0 表示服务器端)。
  • 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 转发功能以支持客户端访问外部网络:

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

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

firewall-cmd --add-port=1194/udp --permanent
firewall-cmd --add-masquerade --permanent
firewall-cmd --reload

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

systemctl start openvpn@server
systemctl enable openvpn@server

至此,OpenVPN 服务已在 CentOS 7 上成功部署,客户端可通过 .ovpn 配置文件连接,该文件需包含 CA 证书、客户端证书、私钥以及 TLS 密钥(如 ta.key)等信息。

本教程详细演示了从环境准备到服务部署的全流程,适用于中小型企业或个人开发者搭建私有安全通道,建议定期备份证书与配置文件,并结合 fail2ban 或日志监控增强安全性,OpenVPN 的灵活性使其成为跨平台远程办公的理想选择。

CentOS 7 系统中配置 OpenVPN 服务的完整指南

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