Gravity Sync 终极指南:5分钟搞定双 Pi-hole 实例DNS同步

Gravity Sync 终极指南:5分钟搞定双 Pi-hole 实例DNS同步

【免费下载链接】gravity-sync 💫 The easy way to synchronize the DNS configuration of two Pi-hole 5.x instances. 【免费下载链接】gravity-sync 项目地址: https://gitcode.com/gh_mirrors/gr/gravity-sync

Gravity Sync 是一款专为 Pi-hole 5.x 设计的轻量级工具,能够帮助用户快速实现两台 Pi-hole 实例之间的 DNS 配置同步。无论是家庭网络还是小型办公环境,通过 Gravity Sync 可以轻松构建高可用的广告过滤系统,确保网络持续稳定运行。

🚀 为什么需要 Gravity Sync?

在单 Pi-hole 环境中,一旦设备出现故障,整个网络的广告过滤功能将完全失效。Gravity Sync 提供了简单可靠的解决方案:

  • 实时同步:自动保持两台 Pi-hole 配置一致
  • 无缝切换:主节点故障时可快速切换到备用节点
  • 操作简单:无需复杂命令,几分钟即可完成部署

📋 系统要求

使用 Gravity Sync 前,请确保您的系统满足以下条件:

  • 两台运行 Pi-hole 5.x 的设备(物理机或容器)
  • 设备间网络互通(建议静态 IP 配置)
  • 支持 SSH 密钥认证
  • 至少 10MB 可用存储空间

🔧 快速安装步骤

1. 克隆项目仓库

git clone https://gitcode.com/gh_mirrors/gr/gravity-sync
cd gravity-sync

2. 执行安装脚本

sudo bash gravity-sync.sh

安装程序会自动完成以下操作:

  • 创建工作目录 /etc/gravity-sync
  • 复制配置文件和可执行程序
  • 设置文件权限和依赖项

⚙️ 配置 Gravity Sync

基本配置

运行配置向导开始设置:

gravity-sync configure

根据提示输入以下信息:

  • 远程 Pi-hole 主机地址(REMOTE_HOST)
  • 远程 SSH 用户名(REMOTE_USER)
  • SSH 端口(默认 22)
  • Pi-hole 安装路径(默认自动检测)

配置文件将保存在 /etc/gravity-sync/gravity-sync.conf,您可以随时手动修改。

SSH 密钥设置

为实现无密码同步,需要配置 SSH 密钥认证:

# 生成并复制 SSH 密钥
gravity-sync keys

📡 执行首次同步

配置完成后,执行首次手动同步:

gravity-sync pull

同步过程会显示详细进度,包括:

  • 本地与远程配置比对
  • 数据库文件传输
  • 服务状态检查
  • 同步结果验证

⏰ 设置自动同步

为确保配置始终保持最新,建议设置自动同步:

使用 Systemd 定时器(推荐)

# 安装定时器
gravity-sync automate

# 检查定时器状态
systemctl status gravity-sync.timer

默认配置每 15 分钟同步一次,您可以通过修改 /etc/gravity-sync/gravity-sync.conf 中的 SYNC_INTERVAL 参数调整频率。

手动设置 Cron 任务

如果您的系统不支持 Systemd,可使用 Cron:

# 编辑 crontab
crontab -e

# 添加以下行(每30分钟同步一次)
*/30 * * * * /usr/local/bin/gravity-sync pull

📝 常用命令参考

命令功能描述
gravity-sync configure重新配置同步参数
gravity-sync compare比对本地与远程配置差异
gravity-sync push强制推送本地配置到远程
gravity-sync pull拉取远程配置到本地
gravity-sync status显示同步状态和历史
gravity-sync upgrade更新 Gravity Sync 到最新版本

🧰 故障排除

同步失败的常见原因

  1. 网络问题:确保两台设备可以相互 ping 通并通过 SSH 连接
  2. 权限错误:检查 /etc/gravity-sync 目录权限是否正确
  3. 配置冲突:使用 gravity-sync compare 查看配置差异
  4. 日志查看:同步日志保存在 /etc/gravity-sync/gs-sync.log

重置同步配置

如果遇到无法解决的问题,可以重置配置:

# 备份当前配置
mv /etc/gravity-sync/gravity-sync.conf /etc/gravity-sync/gravity-sync.conf.bak

# 重新配置
gravity-sync configure

📚 进阶配置

Gravity Sync 支持通过环境变量或配置文件自定义高级选项,主要配置文件路径:

  • 主配置:/etc/gravity-sync/gravity-sync.conf
  • 环境变量定义:ENV.md
  • 服务模板:templates/gravity-sync.service

可调整的高级参数包括:

  • 同步文件白名单/黑名单
  • SSH 连接超时设置
  • 日志级别和轮转策略
  • Docker 容器支持配置

🔄 升级 Gravity Sync

保持工具为最新版本以获取新功能和安全更新:

gravity-sync upgrade

升级过程会自动备份当前配置,并获取最新代码。

🎯 总结

Gravity Sync 提供了一种简单高效的方式来维护双 Pi-hole 环境的配置一致性。通过本文介绍的步骤,您可以在几分钟内完成从安装到自动化的全过程,为您的网络添加一层可靠的保障。无论是家庭用户还是小型企业,Gravity Sync 都是构建高可用 Pi-hole 系统的理想选择。

【免费下载链接】gravity-sync 💫 The easy way to synchronize the DNS configuration of two Pi-hole 5.x instances. 【免费下载链接】gravity-sync 项目地址: https://gitcode.com/gh_mirrors/gr/gravity-sync

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值