在现代企业网络架构中,虚拟专用网络(VPN)是保障远程办公、跨地域数据传输安全的重要手段,CentOS 7 作为一款稳定、开源的 Linux 发行版,广泛应用于服务器环境,本文将详细介绍如何在 CentOS 7 上部署和配置 OpenVPN 服务,包括服务器端安装、证书生成、配置文件编写、防火墙设置以及客户端连接步骤,帮助网络工程师快速搭建一套安全可靠的远程访问通道。
准备工作
确保你拥有一个运行 CentOS 7 的服务器,并具备 root 权限,建议使用最小化安装版本以减少不必要的服务干扰,首先更新系统软件包:
yum update -y
安装 OpenVPN 和 Easy-RSA 工具
OpenVPN 是开源的 SSL/TLS 协议实现,支持多种加密方式,Easy-RSA 是用于生成 PKI(公钥基础设施)证书的工具,必须先安装:
yum install epel-release -y yum install openvpn easy-rsa -y
配置证书颁发机构(CA)
Easy-RSA 提供了脚本用于生成 CA 证书、服务器证书和客户端证书,复制模板并初始化:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑 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_ALTNAMES="server"
执行以下命令生成 CA 私钥和证书:
./clean-all ./build-ca
生成服务器证书和密钥
继续在当前目录下:
./build-key-server server
此步骤会提示是否签署证书,输入 “yes” 并确认,同时生成 Diffie-Hellman 参数:
./build-dh
配置 OpenVPN 服务器
创建主配置文件 /etc/openvpn/server.conf如下(可根据实际需求调整):
port 1194
proto udp
dev 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
push "route 192.168.1.0 255.255.255.0" # 推送内网路由
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
启用 IP 转发与防火墙规则
为了让客户端能访问局域网资源,需开启内核转发功能:
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf sysctl -p
配置 iptables 规则允许流量转发:
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE service iptables save
启动 OpenVPN 服务
systemctl enable openvpn@server systemctl start openvpn@server
生成客户端证书和配置文件
在服务器上为每个用户生成唯一客户端证书:
./build-key client1
客户端配置文件 client1.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
测试连接
将客户端配置文件导入 OpenVPN 客户端(Windows 可用 OpenVPN GUI,Linux 使用 openvpn 命令),连接成功后即可访问内网资源。
通过以上步骤,你已在 CentOS 7 上成功部署了 OpenVPN 服务,实现了加密、认证、内网穿透等功能,此方案适用于中小型企业远程办公或站点间互联场景,具备高安全性与灵活性,网络工程师应根据业务需求进一步优化日志管理、性能调优和多用户权限控制策略。

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

