CentOS 6下实现一键配置VPN服务的完整指南(含脚本自动化)

在企业网络部署或远程办公场景中,虚拟私人网络(VPN)是保障数据安全传输的关键技术之一,对于仍在使用 CentOS 6 系统的老旧环境(尽管该版本已于2024年停止维护),用户仍可能因兼容性、硬件限制或特定业务需求而无法升级系统,通过编写一个“一键安装”脚本快速搭建 OpenVPN 服务,不仅能节省大量手动配置时间,还能提升部署一致性与可复用性。

本文将详细介绍如何在 CentOS 6 系统上创建一个全自动脚本,用于部署 OpenVPN 服务,并支持客户端证书自动签发和防火墙规则设置,此方案适用于中小型企业内部网、远程员工接入或测试环境快速搭建。

确保你的 CentOS 6 系统已更新至最新补丁(如未更新,请运行 yum update -y),由于 CentOS 6 默认不包含 OpenVPN 软件包,需先添加 EPEL 源(Extra Packages for Enterprise Linux):

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

安装 OpenVPN 和 easy-rsa(用于证书管理):

yum install -y openvpn easy-rsa

我们创建一个名为 setup-vpn.sh 的 Shell 脚本文件,内容如下:

# 设置OpenVPN配置目录
cd /etc/openvpn/
mkdir -p keys
cp -r /usr/share/easy-rsa/* .
source ./vars
./clean-all
./build-ca
./build-key-server server
./build-key client1
./build-dh
# 复制配置文件
cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn/
sed -i 's;#ca ca.crt;ca ca.crt;' /etc/openvpn/server.conf
sed -i 's;#cert server.crt;cert server.crt;' /etc/openvpn/server.conf
sed -i 's;#key server.key;key server.key;' /etc/openvpn/server.conf
sed -i 's;#dh dh.pem;dh dh.pem;' /etc/openvpn/server.conf
# 启用IP转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
# 配置iptables规则
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -d 10.8.0.0/24 -j ACCEPT
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
service iptables save
# 启动服务并设为开机自启
service openvpn start
chkconfig openvpn on
echo "✅ OpenVPN 服务已成功部署!"
echo "📌 客户端配置文件位于: /etc/openvpn/client1.ovpn"

该脚本实现了以下功能:

  • 自动初始化证书颁发机构(CA)并生成服务器和客户端证书;
  • 修改 OpenVPN 服务器配置文件,启用 TLS 认证和 DH 参数;
  • 开启 IP 转发以支持 NAT 网络共享;
  • 设置 iptables 规则允许流量进出;
  • 启动 OpenVPN 服务并设置开机自启动。

执行脚本前,赋予其可执行权限:

chmod +x setup-vpn.sh
./setup-vpn.sh

完成后,你可以将 /etc/openvpn/client1.ovpn 文件分发给客户端,通过 OpenVPN GUI 或命令行工具连接到服务器,该脚本尤其适合批量部署多个站点或作为运维自动化的一部分集成进 CI/CD 流程。

⚠️ 注意:CentOS 6 已于2024年停止支持,建议尽快迁移至 CentOS Stream 或 Rocky Linux 等更现代的发行版,以获得持续的安全更新和社区支持,但在过渡期间,上述一键脚本可帮助你高效完成临时部署任务。

!bin/bash  第1张

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