ZeroTier API 与 DNS 深度解析:REST API 集成、自动化配置与服务发现实战
ZeroTier API 与 DNS 深度解析:REST API 集成、自动化配置与服务发现实战 ZeroTier 的 REST API 和 DNS 功能为自动化运维提供了强大支持。本文深入剖析 API 使用、DNS 配置、服务发现与 GitOps 全自动化。 ZeroTier REST API 详解 API 基地址:https://api.zerotier.com/api/v1,需 Authorization Token。 核心 API 端点 端点 方法 描述 /network GET 列出所有网络 /network/$NWID GET 获取网络详情 /network/$NWID/member GET 列出成员 /network/$NWID/member/$MEMBER_ID POST 授权成员 /network POST 创建网络 curl -s -H "Authorization: token $ZT_TOKEN" \ "https://api.zerotier.com/api/v1/network" \ | jq '.[] | [.id, .config.name, .config.description]' DNS 配置与 Split DNS 特性 Managed DNS Split DNS 配置位置 Central Advanced DNS 客户端 NRPT/GPO 支持平台 Win/macOS/Android/iOS 全平台 用例 推送内网 DNS 域名分流 ZeroNSD 部署 # 安装 wget https://github.com/zerotier/zeronsd/releases/download/v0.1.7/zeronsd_0.1.7_amd64.deb sudo dpkg -i zeronsd_0.1.7_amd64.deb # 启动 DNS 服务 sudo zeronsd supervise -t /var/lib/zerotier-one/token -w -d corp.example.com $NWID sudo systemctl start zeronsd-$NWID Terraform GitOps provider "zerotier" { central_token = var.zerotier_central_token } resource "zerotier_network" "demo" { name = "demo-network" assignment_pool { start = "192.168.192.1" end = "192.168.192.254" } route { target = "192.168.192.0/24" via = "0.0.0.0/0" } dns { servers = ["10.0.0.10", "8.8.8.8"] domains = "internal.corp" } } GitHub Actions 工作流 name: ZeroTier GitOps on: push jobs: terraform: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: hashicorp/setup-terraform@v3 - run: terraform init - run: terraform plan - run: terraform apply -auto-approve env: ZEROTIER_CENTRAL_TOKEN: ${{ secrets.ZEROTIER_CENTRAL_TOKEN }} 参考文献 Central API 文档 API 示例 Terraform Provider ZeroNSD GitHub (本文约 4500 汉字) ...