CentOS7 PPTPD自动化安装脚本
脚本功能概述
该自动化脚本实现以下核心功能:
- 自动检测操作系统环境要求
- 配置EPEL软件仓库
- 安装PPTPD及相关依赖组件
- 生成加密认证密钥文件
- 自定义网络接口配置与端口开放
- 创建标准配置文件模板
- 启用IP路由转发功能
- 添加防火墙规则开放服务端口
- 设置系统服务开机自启
完整脚本代码
#!/bin/bash
# 检测是否为CentOS 7系统
if ! grep -q "CentOS Linux 7" /etc/os-release; then
echo "仅支持CentOS 7操作系统"
exit 1
fi
# 安装依赖组件
yum install -y epel-release pptpd pptp-setup
# 生成加密密钥
openssl rand -hex 32 > /etc/ppp/chap-secrets.key
# 配置服务文件
cat > /etc/pptpd.conf /etc/ppp/options.pptpd > /etc/sysctl.conf
# 防火墙配置
firewall-cmd --permanent --add-service=pptpd
firewall-cmd --permanent --add-port=1723/tcp
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload
# 启动服务
systemctl enable --now pptpd
systemctl restart pptpd
# 输出状态
systemctl status pptpd --no-pager
echo "部署完成,服务运行端口:1723"
使用说明
- 保存脚本至install_pptpd.sh文件
- 执行授权命令:chmod +x install_pptpd.sh
- 运行部署程序:./install_pptpd.sh
- 编辑用户认证文件:/etc/ppp/chap-secrets
- 测试连接并验证日志:journalctl -u pptpd
配置自定义指南
修改内网IP地址段:
编辑/etc/pptpd.conf文件中的localip和remoteip参数
增加连接用户:
在/etc/ppp/chap-secrets文件添加格式:用户名 * 密码 *
变更监听端口:
修改脚本中的防火墙端口1723为自定义端口
安全强化建议
- 定期轮换chap-secrets.key加密密钥
- 通过fail2ban防止暴力破解尝试
- 限制访问IP范围于特定公网地址
- 结合Let's Encrypt证书加密通信
- 启用详细连接日志监控可疑活动