在企业网络或远程办公场景中,通过虚拟私人网络(VPN)实现安全、加密的数据传输至关重要,CentOS 7 作为一款稳定且广泛应用于服务器环境的操作系统,非常适合部署 OpenVPN 服务,本文将详细介绍如何在 CentOS 7 上安装、配置并启动 OpenVPN 服务,同时提供客户端连接方法,帮助用户快速搭建私有网络通道。

第一步:准备工作
确保你拥有 CentOS 7 的 root 权限,并已连接到互联网,建议先更新系统软件包:

sudo yum update -y

然后安装 EPEL 源(若尚未安装),因为 OpenVPN 包可能不在默认仓库中:

sudo yum install epel-release -y

第二步:安装 OpenVPN 和 Easy-RSA
OpenVPN 是开源的 VPN 解决方案,而 Easy-RSA 是用于生成证书和密钥的工具,执行以下命令安装:

sudo yum install openvpn easy-rsa -y

第三步:配置 CA 和证书
首先复制 Easy-RSA 示例目录到 /etc/openvpn/ 并设置权限:

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

编辑 vars 文件(使用 vim 或 nano),根据需求修改国家代码、组织名等信息,

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

运行以下命令初始化 PKI(公钥基础设施):

./clean-all
./build-ca

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

./build-key-server server

提示是否签名时输入 "yes",随后为客户端生成证书(可重复此步骤为多个客户端创建不同证书):

./build-key client1

最后生成 Diffie-Hellman 参数(用于加密交换):

./build-dh

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

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

关键配置项包括:

  • port 1194:指定端口(可更改)
  • proto udp:推荐使用 UDP 协议
  • dev tun:创建 TUN 设备
  • ca /etc/openvpn/easy-rsa/keys/ca.crt
  • cert /etc/openvpn/easy-rsa/keys/server.crt
  • key /etc/openvpn/easy-rsa/keys/server.key
  • dh /etc/openvpn/easy-rsa/keys/dh2048.pem
  • 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,取消注释:

net.ipv4.ip_forward = 1

应用配置:

sysctl -p

配置 iptables 放行流量(假设网卡为 eth0):

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
service iptables save

第六步:启动 OpenVPN 服务

systemctl enable openvpn@server
systemctl start openvpn@server
systemctl status 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
tls-auth ta.key 1
auth SHA256
cipher AES-256-CBC
verb 3

使用 OpenVPN 客户端(如 OpenVPN GUI for Windows 或 Linux 命令行)加载此配置即可连接。

至此,你已在 CentOS 7 上成功搭建了一个功能完整的 OpenVPN 服务,可满足多用户远程安全访问内网资源的需求,后续可根据需要扩展认证方式(如 LDAP 或证书吊销列表)。

CentOS 7 系统中配置 OpenVPN 服务的完整指南(含客户端连接步骤)  第1张

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