CentOS 7下配置OpenVPN实现安全远程访问详解

dfbn6 2026-04-05 梯子VPN 4 0

在现代企业网络环境中,远程访问内网资源已成为日常运维和开发工作的基本需求,CentOS 7作为一款稳定、广泛使用的Linux发行版,常被用于服务器部署,若需在CentOS 7上搭建一个安全、可靠的虚拟私人网络(VPN),OpenVPN是一个理想选择——它开源、功能强大、支持多种认证方式,并且可灵活定制以满足不同场景需求。

本文将详细介绍如何在CentOS 7系统中部署并配置OpenVPN服务,使远程用户能够通过加密隧道安全访问局域网内的服务(如数据库、文件共享或内部Web应用)。

第一步:准备工作
确保你已获得一台运行CentOS 7的服务器,并具备root权限,需要一个公网IP地址(或域名绑定)用于外部访问,建议提前关闭防火墙或配置相应的端口规则(OpenVPN默认使用UDP 1194端口),执行以下命令更新系统并安装必要工具:

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

第二步:生成证书与密钥(PKI环境)
OpenVPN依赖SSL/TLS协议进行身份验证,因此需先构建证书颁发机构(CA)和服务器/客户端证书,进入Easy-RSA目录并初始化:

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

编辑vars文件,设置国家、组织名称等信息(如KEY_COUNTRY=CN),然后执行以下命令生成CA证书及服务器证书:

source ./vars
./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:指定监听端口;
  • proto udp:使用UDP协议提升性能;
  • dev tun:创建TUN设备;
  • ca, cert, key, dh:指向生成的证书路径;
  • 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服务器。

第四步:启动服务与防火墙配置
启用OpenVPN服务并设置开机自启:

systemctl enable openvpn@server
systemctl start openvpn@server

开放防火墙端口(若使用firewalld):

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

第五步:客户端配置与连接测试
将生成的client1.crtclient1.keyca.crt文件合并为一个.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
cipher AES-256-CBC
verb 3

客户端(如Windows或Linux)导入该文件后即可连接,建议在生产环境中结合用户名密码认证(如使用tls-auth增强安全性)或集成LDAP/Radius进行集中管理。


通过上述步骤,你可以在CentOS 7上成功部署OpenVPN服务,为远程团队提供安全、稳定的网络接入能力,此方案不仅适用于办公场景,还可扩展至IoT设备管理、云主机跳板机等复杂场景,是值得掌握的基础网络技能。

CentOS 7下配置OpenVPN实现安全远程访问详解

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