在企业网络或远程办公场景中,虚拟私人网络(VPN)是保障数据安全传输的重要手段,对于仍在使用 CentOS 7 系统的运维人员来说,OpenVPN 是一个成熟、稳定且开源的解决方案,尤其适合构建站点到站点(Site-to-Site)或远程访问(Remote Access)类型的私有网络,本文将详细介绍如何在 CentOS 7 上部署并配置 OpenVPN 服务,包括环境准备、证书生成、服务器端配置、防火墙设置以及客户端连接验证全过程。
确保你拥有一个运行 CentOS 7 的服务器,并具备 root 权限或 sudo 权限,建议先执行系统更新:
sudo yum update -y
接下来安装 OpenVPN 及其依赖包,我们使用 EPEL 源来获取更多可用软件包:
sudo yum install epel-release -y sudo yum install openvpn easy-rsa -y
OpenVPN 使用 PKI(公钥基础设施)进行身份认证,因此需要使用 Easy-RSA 工具生成证书和密钥,默认情况下,Easy-RSA 的配置文件位于 /usr/share/easy-rsa/,我们需要复制一份到本地目录并初始化:
cp -r /usr/share/easy-rsa/* /etc/openvpn/ cd /etc/openvpn/
编辑 vars 文件,根据实际需求修改以下参数:
export KEY_COUNTRY="CN" export KEY_PROVINCE="Beijing" export KEY_CITY="Beijing" export KEY_ORG="MyCompany" export KEY_EMAIL="admin@example.com" export KEY_OU="IT Department"
然后初始化 PKI 并生成 CA(证书颁发机构)证书:
./easyrsa init-pki ./easyrsa build-ca nopass
接下来生成服务器证书和密钥:
./easyrsa gen-req server nopass ./easyrsa sign-req server server
再为客户端生成证书(每台客户端都需要单独生成):
./easyrsa gen-req client1 nopass ./easyrsa sign-req client client1
完成后,将必要的证书和密钥复制到 OpenVPN 配置目录:
mkdir -p /etc/openvpn/easy-rsa/pki/issued/ cp pki/ca.crt /etc/openvpn/ cp pki/private/server.key /etc/openvpn/ cp pki/issued/server.crt /etc/openvpn/ cp pki/issued/client1.crt /etc/openvpn/ cp pki/private/client1.key /etc/openvpn/
创建主配置文件 /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
注意:若需启用 TLS 认证,还需添加 tls-auth ta.key 并生成该文件,但本文为简化流程省略此步骤。
启动 OpenVPN 服务并设置开机自启:
systemctl start openvpn@server systemctl enable openvpn@server
在防火墙上开放 UDP 1194 端口(若使用 firewalld):
firewall-cmd --add-port=1194/udp --permanent firewall-cmd --reload
客户端连接时需使用 .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
将此文件与对应证书一起发送给客户端用户即可完成连接。
通过以上步骤,你已在 CentOS 7 上成功部署了一个可运行的 OpenVPN 服务,这种架构不仅适用于小型团队远程办公,也可扩展为多分支机构互联的基础网络方案,持续关注日志(/var/log/messages 或 journalctl -u openvpn@server)有助于排查连接异常问题。

半仙加速器-海外加速器|VPN加速器|vpn翻墙加速器|VPN梯子|VPN外网加速









