在企业网络或个人远程办公场景中,通过虚拟私人网络(VPN)建立加密通道已成为保障数据传输安全的重要手段,CentOS 作为一款稳定、可靠的 Linux 发行版,在服务器部署和网络服务管理中广泛应用,本文将详细介绍如何在 CentOS 系统上部署 OpenVPN 服务,并结合静态路由配置,实现客户端通过 VPN 安全访问内网资源(如文件服务器、数据库等),从而构建一个灵活且可扩展的远程接入解决方案。

我们需要安装并配置 OpenVPN 服务,以 CentOS 7/8 为例,可通过 yum 命令安装 OpenVPN 及相关工具:

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

初始化证书颁发机构(CA)环境,运行以下命令生成密钥对:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
sudo ./easyrsa init-pki
sudo ./easyrsa build-ca nopass

然后生成服务器证书和密钥:

sudo ./easyrsa gen-req server nopass
sudo ./easyrsa sign-req server server

再为客户端生成证书(每个客户端需单独生成):

sudo ./easyrsa gen-req client1 nopass
sudo ./easyrsa sign-req client client1

完成证书制作后,复制相关文件到 OpenVPN 配置目录:

sudo cp pki/ca.crt pki/private/server.key pki/issued/server.crt /etc/openvpn/

接下来配置 OpenVPN 主服务端口(默认 UDP 1194)及 TLS 设置,编辑 /etc/openvpn/server.conf 文件,添加如下关键配置项:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.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

push "redirect-gateway def1 bypass-dhcp" 表示将客户端流量重定向至 OpenVPN 网络,实现“所有流量走隧道”的效果;若只想让特定内网地址通过 VPN,则应使用静态路由方式。

我们进入重点:静态路由配置,假设你的内网子网是 192.168.1.0/24,且 OpenVPN 服务运行在 CentOS 服务器上,该服务器同时连接公网和内网,为了让客户端能访问 192.168.1.0/24 网段,必须在 OpenVPN 服务端添加静态路由规则:

sudo sysctl net.ipv4.ip_forward=1

然后在 /etc/openvpn/server.conf 中加入:

push "route 192.168.1.0 255.255.255.0"

这会自动将目标网段推送给客户端,使客户端路由表自动添加一条通往 192.168.1.0/24 的路由。

还需确保 CentOS 主机防火墙允许转发流量,使用 firewalld 或 iptables 配置 NAT 规则(:

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

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

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

客户端方面,可使用 OpenVPN GUI 工具(Windows)或 openvpn 命令行(Linux/macOS)连接,只需导入 CA、客户端证书和密钥即可。

本方案通过 OpenVPN 提供加密隧道,配合静态路由策略实现细粒度控制,既能保障安全性,又能满足多业务场景下的内网访问需求,对于需要高可用性的生产环境,建议结合 Keepalived 实现主备切换,或使用 TUN/TAP 模式结合 VLAN 实现更复杂的网络隔离,此配置已在多个企业级项目中成功落地,具备良好的可维护性和扩展性。

CentOS 系统下配置 OpenVPN 与静态路由实现安全远程访问的完整指南  第1张

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