在当前网络环境日益复杂的背景下,企业与个人用户对安全远程访问的需求不断增长,虚拟私人网络(VPN)作为实现安全通信的重要手段,其部署已成为网络工程师的必备技能之一,本文将以 CentOS 7 系统为基础,详细介绍如何搭建 OpenVPN 服务,包括服务器端安装、证书生成、配置文件编写、防火墙设置以及客户端连接流程,帮助读者快速掌握基于开源工具的安全远程接入方案。

确保你的 CentOS 7 系统已更新至最新状态,并具备 root 权限,通过以下命令更新系统:

sudo yum update -y

安装 EPEL 源以便获取更多软件包:

sudo yum install epel-release -y

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

sudo yum install openvpn easy-rsa -y

完成安装后,复制默认配置文件到指定目录:

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

接下来是证书和密钥的生成,这是 OpenVPN 安全性的核心环节,进入 easy-rsa 目录并初始化 PKI(公钥基础设施):

cd /usr/share/easy-rsa/
sudo make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa/
sudo cp vars.example vars

编辑 vars 文件,根据实际需求修改组织名称、国家、省份等信息,

export KEY_COUNTRY="CN"
export KEY_PROVINCE="Beijing"
export KEY_CITY="Beijing"
export KEY_ORG="MyCompany"
export KEY_EMAIL="admin@mycompany.com"

执行以下命令生成 CA 根证书和服务器证书:

sudo ./clean-all
sudo ./build-ca
sudo ./build-key-server server
sudo ./build-key client1
sudo ./build-dh

生成完成后,将必要的文件复制到 OpenVPN 配置目录:

sudo cp keys/ca.crt keys/server.crt keys/server.key keys/dh2048.pem /etc/openvpn/

现在编辑主配置文件 /etc/openvpn/server.conf,关键配置项如下:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.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 转发功能以允许流量转发:

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

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

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

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

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

至此,服务器端配置完成,客户端连接时,需准备以下文件:ca.crtclient1.crtclient1.key,并创建 .ovpn 配置文件,内容示例:

client
dev tun
proto udp
remote your-server-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3

将该文件导入客户端(如 Windows 的 OpenVPN GUI 或 Linux 命令行),即可建立加密隧道。

本教程覆盖了 CentOS 7 上 OpenVPN 的完整部署流程,涵盖证书签发、服务配置、防火墙策略及客户端连接,此方案适用于小型企业或个人远程办公场景,具备高安全性与可扩展性,建议定期更新证书并监控日志,以保障长期稳定运行。

CentOS 7搭建OpenVPN服务完整指南,从安装到客户端配置  第1张

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