关于 BIND 9 AIops
BIND 9 AIops 是面向 BIND 9 DNS 运维人员的受治理 MCP 服务和命令行工具。它通过固定参数调用 BIND 工具进行检查和受控操作,并审计调用、明确报告不确定结果。
主要功能
- 01服务与区域状态检查
- 02配置和已加载区域验证
- 03DNSSEC 与签名状态检查
- 04DNS 查询及主从 SOA 比对
- 05受控区域操作与结果标记
- 06调用审计与预算控制
适用场景
- 01验证 BIND 配置和区域加载情况
- 02排查 DNSSEC、查询及传输问题
- 03比较主从 DNS 区域序列号
- 04在确认保护下执行区域操作
MCP 相关
它提供 23 个用于 BIND 9 DNS 运维的 MCP 工具及对应命令行操作。每次调用都会审计;写操作支持预演和双重确认,结果不确定时会明确标记。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
23收录的工具列表 · 更新于 2 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| target | any | 否 |
详细介绍
BIND 9 AIops
通过 23 个 MCP 工具及对应的 CLI 命令,以受治理的方式执行 BIND 9 DNS 运维。它会将 rndc、named-checkconf 和 dig 作为固定参数列表执行,不会调用 shell。每次调用都会由随附的治理工具框架进行审计并计入预算。
检查内容
- 通过
rndc检查 named 服务和区域状态。 - 使用
named-checkconf -z验证配置和已加载区域。 - DNSSEC 验证模式。
- 区域 DNSSEC 签名、托管密钥和过期服务状态;启用时还会检查运行中的区域配置。
- 递归查询获取限制命中次数、DNSSEC 信任锚、DNS TCP 超时及各区域的签名进度。
- DNS 查询及其实际 DNS 响应代码。
- 针对所选辅助服务器的查询。
- 受保护的辅助服务器重新传送和单区域 NOTIFY 重发。
- 主服务器和辅助服务器的 SOA 序列号比较。查询失败或无法解析时返回
null,绝不伪造零值或匹配结果。 bind_diagnose_zone会保留并显示各项探测的失败情况。
从源代码安装
需要 Python 3.11+、uv,以及操作员主机上的 BIND 9 命令行工具。运行 uv sync --dev、uv run bind9-aiops init,然后运行 uv run bind9-aiops doctor。手动创建的 ~/.bind9-aiops/config.yaml 可指定路径和 DNS 服务器:
targets:
- name: local
server: 127.0.0.1
dns_port: 53
rndc_config: /etc/bind/rndc.conf
named_config: /etc/bind/named.conf
timeout: 10
使用 uv run bind9-aiops diagnose example.org 或 uv run bind9-aiops compare-soa example.org 192.0.2.2。MCP 入口点为 uv run bind9-aiops-mcp。进程账户需要有权访问其 rndc 密钥文件和 BIND 配置,但不会向 Agent 提供提升权限的 shell。
范围与验证
reload-zone、refresh-zone、flush-name、retransfer-zone 和 notify-zone 支持试运行和两次 CLI 确认。RNDC 命令被接受,并不能证明排队的区域重新加载或传送已经完成,因此这些写入操作会报告 outcomeUnknown;命令响应丢失时也会如此。缓存刷新、重新传送、NOTIFY 发送或外部编辑的区域文件均无法安全撤销。区域文件编辑、DNSSEC 密钥更改和全局服务重启仍不在此版本范围内。请参阅验证。欢迎通过 issue 或 PR 提交缺失功能建议和真实环境反馈。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。