在企业网络或远程办公场景中,虚拟私人网络(VPN)是保障数据安全传输的重要工具,CentOS 作为一款稳定、可靠的 Linux 发行版,常被用于服务器部署,尤其适合搭建 OpenVPN 这类开源 VPN 解决方案,本文将详细介绍如何在 CentOS 系统上安装并配置 OpenVPN,帮助你快速搭建一个安全、可扩展的远程访问通道。
确保你的 CentOS 系统为 7.x 或 8.x 版本,并已具备 root 权限或 sudo 权限,推荐使用最小化安装版本,以减少不必要的服务冲突。
第一步:更新系统并安装依赖包
执行以下命令更新系统软件包列表并升级现有软件:
sudo yum update -y
安装 OpenVPN 所需的依赖项,包括 Easy-RSA(用于证书生成)和 iptables(用于防火墙规则):
sudo yum install epel-release -y sudo yum install openvpn easy-rsa iptables-services -y
第二步:配置 OpenVPN 服务端
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 使用的端口(默认为 UDP 1194)proto udp:选择协议(UDP 更快,TCP 更稳定)dev tun:创建隧道设备ca /etc/openvpn/easy-rsa/pki/ca.crt:CA 根证书路径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:Diffie-Hellman 参数文件(稍后生成)
第三步:生成证书与密钥
进入 Easy-RSA 目录并初始化 PKI(公钥基础设施):
cd /etc/openvpn/easy-rsa/ sudo ./easyrsa init-pki sudo ./easyrsa build-ca nopass sudo ./easyrsa gen-req server nopass sudo ./easyrsa sign-req server server sudo ./easyrsa gen-dh
这些命令会依次生成 CA 根证书、服务器证书、私钥和 Diffie-Hellman 参数,这是保证通信加密的关键。
第四步:启用 IP 转发并配置防火墙
为了让客户端通过 OpenVPN 访问内网资源,需要开启 IP 转发:
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf sudo sysctl -p
配置 iptables 规则以转发流量:
sudo iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT sudo iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE sudo service iptables save
第五步:启动 OpenVPN 服务
启用并启动 OpenVPN:
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
服务已在后台运行,你可以使用客户端(如 OpenVPN Connect 客户端)导入生成的 .ovpn 配置文件连接服务器。
通过以上步骤,你可以在 CentOS 上成功部署一个功能完整的 OpenVPN 服务,此方案适用于小型团队或个人用户,具备良好的安全性与灵活性,后续可根据需求添加客户端认证、日志记录、多用户管理等功能,建议定期更新证书和补丁,以保障网络安全。

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






