在构建全球分布式网络或进行大规模 IP 养护任务时,如何快速、稳定地在不同环境(Debian, Ubuntu, CentOS, Alpine, Arch 等)下部署边缘节点一直是技术难点。IP-Sentinel 凭借其动态锚点路由、多网络栈自适应以及 Telegram 远程联控功能,成为了开发者手中的利器。
本文将详细介绍如何从零开始部署 IP-Sentinel 边缘节点,并讲解如何利用其内置的状态机实现无损平滑升级。
🛰️ 环境准备与权限要求
在开始部署之前,请确保您的服务器满足以下基础条件:
- 操作系统:支持绝大多数主流 Linux 发行版(推荐使用 Debian 11+ 或 Ubuntu 20.04+)。
- 运行权限:必须以 root 用户身份执行,脚本会自动检测并拦截非 root 请求。
- 网络连接:节点需要能够访问 GitHub Raw 域名以获取核心组件和全球节点地图。
🚀 第一步:执行安装指令
由于 IP-Sentinel 采用了云端动态映射技术,建议始终使用最新的安装入口。在您的终端输入以下指令(请根据您实际存放 install.sh 的仓库地址进行替换):
Bash
Bash
bash -c "$(curl -fsSL https://raw.githubusercontent.com/hotyue/IP-Sentinel/main/install.sh)"📍 第二步:交互式配置(全新部署)
脚本启动后,会引导您完成“四级战区”锁定:
- 战区选择:选择目标大洲(如亚洲、欧洲、北美等)。
- 国家/地区锁定:基于地理位置规则库,选择具体的业务归属地。
- 行政区与城市:精确到具体城市节点,脚本会自动拉取对应的底层模拟规则。
🛡️ 联控中枢配置(关键)
为了实现远程管理和接收实时战报,您需要接入 Telegram Master 司令部。
- 私有 Bot Token:您需要创建一个专属机器人,请参考 《通过 BotFather 创建私有 Telegram Bot》。
- Chat ID:用于接收通知的个人唯一识别 ID,获取方法请参考 《通过 userinfobot 获取 Telegram 个人 ID》。
🌐 第三步:网络栈探测与 Webhook 隧道
IP-Sentinel 具备强大的双核身份识别系统:
- 智能探测:脚本会自动扫描本机的 IPv4 和 IPv6 出口,并进行实弹试射(NAT 环境嗅探)。
- 随机高位端口:系统会自动推荐一个未被占用的随机端口(10000-65535)用于 Webhook 通讯。
- 防火墙放行:安装完成后,脚本会根据您的系统环境(UFW/Firewalld/Iptables)给出精准的放行指令,请务必执行。
🔄 第四步:平滑升级与 OTA 模式
IP-Sentinel 最大的特色之一是 “断网防变砖” 的原子化升级机制。
1. 手动平滑升级
当您再次运行安装脚本时,系统会识别到已存在的配置。选择 “y” 即可进入平滑模式:
Bash
bash -c "$(curl -fsSL https://raw.githubusercontent.com/hotyue/IP-Sentinel/main/install.sh)"- 保留历史日志:您可以选择是否保留旧有的战地运行数据。
- 无损配置迁移:系统会自动提取旧版配置,仅更新核心引擎代码。
2. OTA 远程静默更新
如果您在配置中开启了 ENABLE_OTA,则可以在 Telegram 频道中通过指令直接触发节点更新,无需手动登录 SSH。
🗑️ 卸载与清理
如果您需要撤除某个哨兵节点,只需执行以下命令,脚本将自动清理守护进程、定时任务以及安装目录:
Bash
Bash
bash /opt/ip_sentinel/core/uninstall.sh
🛠️ 常见问题排查 (FAQ)
- 消息推送失败:请检查服务器是否能够直连 Telegram API。如果无法直连,建议在安装时选择“官方公共网关”模式。
- 端口不通:除了服务器内部防火墙,请检查云服务商(如阿里云、腾讯云、AWS)的安全组是否放行了 Webhook 端口。
- 定时任务不执行:脚本优先使用 Systemd。在不支持 Systemd 的系统(如 Alpine)中,请检查
crond服务是否已启动。
这个厉害了,感谢大佬分享