在当今数字化办公日益普及的背景下,企业或个人用户对远程访问内网资源的需求越来越强烈,虚拟私人网络(VPN)作为一种加密隧道技术,能够有效保障数据传输的安全性与隐私性,本文将以 CentOS Linux 作为操作系统平台,详细讲解如何使用 OpenVPN 搭建一个功能完整的、可稳定运行的本地 VPN 服务器,适用于家庭办公、远程运维、跨地域协作等场景。

前期准备
确保你拥有一台运行 CentOS 7 或 CentOS 8 的物理机或云服务器(推荐使用阿里云、腾讯云或 AWS 等主流服务商),并具备以下条件:

  • 静态公网 IP 地址(若无,可申请动态 DNS 服务如 No-IP)
  • 端口转发配置(如 TCP 1194 端口需开放)
  • root 权限或 sudo 权限
  • 安装基础工具包(如 wget、vim、firewall-cmd)

安装 OpenVPN 及 Easy-RSA
登录服务器后,执行如下命令安装 OpenVPN 和证书管理工具 Easy-RSA:

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

生成证书和密钥
OpenVPN 使用 PKI(公钥基础设施)进行身份认证,因此需要先初始化证书颁发机构(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@example.com"
export KEY_OU="IT Department"

接着执行以下命令生成 CA 证书和服务器证书:

./clean-all
./build-ca
./build-key-server server
./build-key client1  # 为客户端生成证书(可重复此步骤添加多个客户端)
./build-dh

配置 OpenVPN 服务端
复制必要文件到 OpenVPN 配置目录:

cp /etc/openvpn/easy-rsa/keys/{ca.crt,server.key,server.crt,dh2048.pem} /etc/openvpn/

创建主配置文件 /etc/openvpn/server.conf如下):

port 1194
proto tcp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.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
tls-auth ta.key 0
cipher AES-256-CBC
auth SHA256
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3

注意:tls-auth 是增强安全性的重要配置项,需额外生成:

openvpn --genkey --secret /etc/openvpn/ta.key

启用 IP 转发和防火墙规则
编辑 /etc/sysctl.conf 启用 IP 转发:

net.ipv4.ip_forward = 1

执行命令生效:

sysctl -p

配置防火墙允许流量通过:

firewall-cmd --permanent --add-port=1194/tcp
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload

启动并测试 OpenVPN
启动服务并设置开机自启:

systemctl enable openvpn@server
systemctl start openvpn@server

此时你可以将客户端证书(client1.crt)、私钥(client1.key)、CA 证书(ca.crt)和 TLS 密钥(ta.key)打包发送给客户端,并使用 OpenVPN GUI(Windows)或 OpenVPN Connect(移动端)导入配置文件进行连接测试。

常见问题与优化建议

  • 若连接失败,请检查日志:journalctl -u openvpn@server
  • 建议定期轮换证书以增强安全性
  • 对于多用户场景,可结合 LDAP 或数据库进行集中认证
  • 推荐使用 Fail2Ban 防止暴力破解攻击


通过以上步骤,你已成功在 CentOS 上部署了一个基于 OpenVPN 的安全远程访问解决方案,该方案不仅成本低廉,而且灵活性高,适合中小型企业及个人用户使用,掌握这一技能,不仅能提升网络运维能力,还能为构建更安全的企业 IT 架构打下坚实基础。

手把手教你搭建CentOS 7/8 VPN服务器,从零开始配置OpenVPN实现安全远程访问  第1张

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