!bin/bash

dfbn6 2026-04-03 VPN翻墙 11 0

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

在企业网络部署或远程办公场景中,虚拟私人网络(VPN)是保障数据安全传输的关键技术之一,对于仍在使用 CentOS 6 系统的老旧环境(尽管该版本已于2024年停止维护),用户仍可能因兼容性、硬件限制或特定业务需求而无法升级系统,本文将详细介绍如何通过编写一个“一键式”脚本,在 CentOS 6 环境下快速搭建 OpenVPN 服务,并提供完整的安装、配置与测试流程,帮助网络工程师高效完成部署任务。

确保你的 CentOS 6 服务器满足基本要求:具备公网IP地址、root权限、且已启用防火墙规则允许UDP 1194端口(OpenVPN默认端口),由于 CentOS 6 默认仓库中 OpenVPN 版本较旧(如 2.1.x),建议先更新软件源并安装 EPEL 仓库:

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y

创建一个名为 install_vpn.sh 的自动化脚本,内容如下:


echo "开始安装 OpenVPN及相关依赖..."
yum install -y openvpn easy-rsa iptables-services
# 配置证书颁发机构(CA)
cp -r /usr/share/easy-rsa/ /etc/openvpn/
cd /etc/openvpn/easy-rsa/2.0/
sed -i 's|export KEY_COUNTRY="US"|export KEY_COUNTRY="CN"|' vars
sed -i 's|export KEY_PROVINCE="CA"|export KEY_PROVINCE="BJ"|' vars
sed -i 's|export KEY_CITY="SanFrancisco"|export KEY_CITY="Beijing"|' vars
sed -i 's|export KEY_ORG="MyCompany"|export KEY_ORG="MyOrg"|' vars
sed -i 's|export KEY_EMAIL="me@mycompany.com"|export KEY_EMAIL="admin@myorg.com"|' vars
./clean-all
./build-ca
./build-key-server server
./build-key client1
./build-dh
# 复制证书和密钥到 OpenVPN 配置目录
cp /etc/openvpn/easy-rsa/2.0/keys/{ca.crt,server.crt,server.key,dh1024.pem} /etc/openvpn/
cp /etc/openvpn/easy-rsa/2.0/keys/client1.* /etc/openvpn/
# 创建 OpenVPN 主配置文件
cat > /etc/openvpn/server.conf <<EOF
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh1024.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
EOF
# 启用 IP转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
# 设置 iptables 规则
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
service iptables save
# 启动 OpenVPN 并设置开机自启
service openvpn start
chkconfig openvpn on
echo "OpenVPN 服务已成功部署!客户端配置文件位于 /etc/openvpn/client1.ovpn"

运行此脚本后,你将在 /etc/openvpn/ 目录下获得一个可用于连接的 .ovpn 客户端配置文件,只需将该文件导入 Windows 或 Linux 客户端(如 OpenVPN GUI 或 NetworkManager),即可建立加密隧道。

注意事项:

  • 此方案适用于单个客户端连接;若需多用户,请重复执行 build-key 命令并分发对应证书。
  • CentOS 6 已停止支持,强烈建议尽快迁移到 CentOS Stream 或 Rocky Linux 等现代发行版以获取安全补丁。
  • 若遇问题,可通过日志 /var/log/messagesopenvpn-status.log 进行排查。

尽管 CentOS 6 已过时,但通过自动化脚本可显著简化其上 OpenVPN 的部署流程,此方法不仅节省时间,还便于批量管理多个老旧服务器,是网络工程师应对遗留系统时的实用技巧。

!bin/bash

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