在当前企业网络架构日益复杂、远程办公需求激增的背景下,搭建一个安全可靠的虚拟专用网络(VPN)服务已成为IT运维人员的基本技能之一,CentOS 7作为一款成熟稳定的Linux发行版,因其长期支持和丰富的社区生态,成为部署OpenVPN服务器的理想平台,本文将详细介绍如何在CentOS 7系统上从零开始搭建OpenVPN服务,包括环境准备、证书生成、配置文件设置、防火墙规则配置及客户端连接测试,帮助您快速构建一套可扩展、易维护的私有网络隧道。
确保您的CentOS 7服务器满足基本要求:至少2GB内存、1核CPU、公网IP地址(用于外网访问),并已安装最新系统更新,登录服务器后,执行以下命令更新系统包:
sudo yum update -y
接下来安装OpenVPN及相关工具,我们使用EPEL源以获取更多可用软件包:
sudo yum install epel-release -y sudo yum install openvpn easy-rsa -y
证书管理是OpenVPN安全性的核心,Easy-RSA工具可协助我们创建PKI(公钥基础设施),复制默认配置到本地目录:
cp -r /usr/share/easy-rsa/ /etc/openvpn/ 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"
然后初始化PKI环境并生成根证书(CA)和服务器证书:
./easyrsa init-pki ./easyrsa build-ca ./easyrsa gen-req server nopass ./easyrsa sign-req server server
生成客户端证书与密钥(每个用户需单独生成):
./easyrsa gen-req client1 nopass ./easyrsa sign-req client client1
服务器配置文件位于/etc/openvpn/server.conf,创建该文件并添加以下关键参数:
port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server.crt
key /etc/openvpn/easy-rsa/pki/private/server.key
dh /etc/openvpn/easy-rsa/pki/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 /var/log/openvpn-status.log
verb 3
启用IP转发功能,使流量能通过服务器中转:
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf sysctl -p
配置防火墙规则(使用firewalld):
sudo firewall-cmd --permanent --add-port=1194/udp sudo firewall-cmd --permanent --add-masquerade sudo firewall-cmd --reload
最后启动OpenVPN服务并设为开机自启:
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
客户端连接时,需将生成的证书、密钥及配置文件打包发送给用户,常见客户端如OpenVPN GUI(Windows)、Tunnelblick(macOS)或Android/iOS原生App均可轻松接入。
通过以上步骤,您已在CentOS 7上成功部署了一个基于TLS加密的OpenVPN服务器,具备高安全性、良好兼容性与灵活扩展能力,适用于远程办公、分支机构互联等多种场景,后续可根据实际需求进一步优化,如集成LDAP认证、限制用户IP范围或部署多实例负载均衡。

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






