随着远程办公和网络安全意识的提升,越来越多的企业和个人用户需要通过安全、稳定的虚拟私人网络(VPN)来访问内网资源或保护互联网通信隐私,CentOS 作为一款稳定、开源且广泛应用于企业环境的操作系统,是部署 OpenVPN 服务器的理想选择,本文将详细介绍如何在 CentOS 7 或 CentOS 8 上安装并配置 OpenVPN 服务,帮助你快速搭建一个功能完整的私有 VPN 网络。
确保你的 CentOS 系统已更新至最新版本,打开终端并执行以下命令:
sudo yum update -y
安装 EPEL 源(Extra Packages for Enterprise Linux),因为 OpenVPN 的依赖包可能不在默认仓库中:
sudo yum install epel-release -y
然后安装 OpenVPN 及其管理工具:
sudo yum install openvpn easy-rsa -y
easy-rsa 是用于生成 SSL/TLS 证书和密钥的工具,是构建 PKI(公钥基础设施)的核心组件。
配置证书颁发机构(CA),进入 /usr/share/easy-rsa/ 目录并初始化 PKI:
cd /usr/share/easy-rsa/ sudo cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/ cd /etc/openvpn/easy-rsa/ sudo nano vars
编辑 vars 文件,根据你的需求修改以下参数(例如组织名称、国家代码等),然后执行以下命令生成 CA 密钥对:
sudo ./clean-all sudo ./build-ca
接着为服务器生成证书和密钥:
sudo ./build-key-server server
这个命令会提示你输入相关信息,并确认是否信任该证书,完成后,还会生成 Diffie-Hellman 参数用于密钥交换:
sudo ./build-dh
创建 OpenVPN 服务器配置文件,复制模板到 /etc/openvpn/ 目录下:
sudo cp /usr/share/doc/openvpn-*/sample-config-files/server.conf /etc/openvpn/ sudo nano /etc/openvpn/server.conf
在配置文件中,你需要修改几个关键选项:
port 1194:指定 OpenVPN 使用的端口(默认 1194,可更改)proto udp:推荐使用 UDP 协议以获得更高性能dev tun:使用 TUN 设备模式(点对点隧道)ca ca.crt、cert server.crt、key server.key:指向刚生成的证书文件dh dh2048.pem:指向 Diffie-Hellman 参数文件server 10.8.0.0 255.255.255.0:定义内部子网地址池(客户端连接后分配的 IP)push "redirect-gateway def1 bypass-dhcp":让客户端流量通过 VPN 路由(适用于远程访问)push "dhcp-option DNS 8.8.8.8":设置客户端使用的 DNS 服务器
保存配置文件后,启用并启动 OpenVPN 服务:
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
配置防火墙允许 OpenVPN 流量,如果你使用的是 firewalld(CentOS 默认防火墙):
sudo firewall-cmd --add-port=1194/udp --permanent sudo firewall-cmd --reload
OpenVPN 服务器已经运行,为了连接客户端,你需要将 ca.crt、client.crt 和 client.key 文件打包成 .ovpn 配置文件,并分发给客户端,客户端只需导入该配置文件即可连接到你的服务器。
通过以上步骤,你可以在 CentOS 系统上成功部署一个功能完备的 OpenVPN 服务器,这种方案既安全又灵活,适合中小企业或个人用户搭建私有网络通道,建议定期更新证书和密钥,并结合 fail2ban 等工具增强安全性,掌握这一技能,不仅提升了你的网络运维能力,也为构建更安全的数字工作环境打下坚实基础。

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






