Skip to content

域名管理

域名管理是 DNS-Go 的核心功能之一,支持多域名管理、批量操作和域名分组。

功能概述

域名管理模块提供以下功能:

  • 多域名管理:同时管理多个域名
  • 域名状态控制:启用/禁用域名解析
  • 批量导入导出:支持 CSV 格式批量操作
  • 域名搜索:快速查找域名
  • 统计信息:查看域名解析统计

域名概念

在 DNS-Go 中,域名是指您要管理的 DNS 区域(Zone)。例如:

  • example.com - 顶级域名
  • example.local - 本地测试域名
  • corp.internal - 企业内网域名

域名类型

类型说明用途
主域名独立管理的 DNS 区域example.com
子域名作为记录存在于父域名下www.example.com

注意:DNS-Go 管理的是主域名,子域名作为解析记录在域名下管理。

域名管理操作

创建域名

  1. 登录 Web 管理界面
  2. 进入「域名管理」→「域名列表」
  3. 点击「新增域名」按钮
  4. 填写域名信息:
    • 域名:输入域名名称(如 example.local
    • 描述:可选,填写域名的用途说明
    • 状态:选择「启用」或「禁用」
  5. 点击「确定」保存

编辑域名

  1. 在域名列表中找到要编辑的域名
  2. 点击「编辑」按钮或域名名称
  3. 修改域名信息
  4. 点击「保存」

删除域名

⚠️ 警告:删除域名会同时删除该域名下的所有解析记录,操作不可恢复!

  1. 在域名列表中找到要删除的域名
  2. 点击「删除」按钮
  3. 确认删除操作

启用/禁用域名

  • 禁用域名:暂停该域名下所有解析记录,DNS 查询将返回 NXDOMAIN
  • 启用域名:恢复该域名下所有解析记录的正常解析

操作方式:

  1. 在域名列表中找到目标域名
  2. 点击状态开关切换启用/禁用状态

批量操作

批量导入

支持从 CSV 文件批量导入域名:

  1. 准备 CSV 文件,格式如下:

    csv
    name,description,status
    example.local,测试域名,enabled
    corp.internal,企业内网,enabled
    test.local,测试环境,disabled
  2. 进入「域名管理」→「域名列表」

  3. 点击「批量导入」按钮

  4. 选择 CSV 文件

  5. 预览导入数据

  6. 确认导入

批量导出

  1. 在域名列表中选择要导出的域名(可多选)
  2. 点击「批量导出」按钮
  3. 选择导出格式(CSV)
  4. 下载导出的文件

API 接口

获取域名列表

bash
GET /api/domain/list?page=1&pageSize=20&keyword=example

请求参数:

参数类型说明
pageint页码,默认 1
pageSizeint每页数量,默认 20
keywordstring搜索关键词(可选)

响应示例:

json
{
  "code": 200,
  "message": "success",
  "data": {
    "list": [
      {
        "id": 1,
        "name": "example.local",
        "description": "测试域名",
        "status": "enabled",
        "created_at": "2025-01-15T10:30:00Z",
        "updated_at": "2025-01-15T10:30:00Z",
        "record_count": 10
      }
    ],
    "total": 1,
    "page": 1,
    "pageSize": 20
  }
}

创建域名

bash
POST /api/domain/create
Content-Type: application/json

{
  "name": "example.local",
  "description": "测试域名",
  "status": "enabled"
}

更新域名

bash
PUT /api/domain/update/:id
Content-Type: application/json

{
  "name": "example.local",
  "description": "更新后的描述",
  "status": "enabled"
}

删除域名

bash
DELETE /api/domain/delete/:id

最佳实践

命名规范

  • 使用有意义的域名名称
  • 生产环境域名与测试环境域名分离
  • 建议使用 .local 后缀表示本地测试域名

域名规划

建议按用途分类管理域名:

prod.example.com      # 生产环境
dev.example.com       # 开发环境
test.example.com      # 测试环境
infra.example.com     # 基础设施

权限管理

  • 超级管理员:管理所有域名
  • 普通用户:只能管理被授权的域名
  • 建议为不同团队分配不同的域名管理权限

常见问题

Q: 域名和解析记录的关系?

域名是 DNS 区域的管理单位,解析记录是域名下的具体配置。

例如:

  • 域名:example.local
  • 解析记录:www.example.local192.168.1.100

Q: 可以管理公网域名吗?

可以,但需要:

  1. 在域名注册商处将域名的 NS 记录指向 DNS-Go 服务器
  2. 确保 DNS-Go 服务器的 53 端口可以被公网访问
  3. 建议配合 DNSSEC 使用(功能开发中)

Q: 域名状态对解析的影响?

  • 启用状态:域名下所有解析记录正常生效
  • 禁用状态:域名下所有解析记录暂停,DNS 查询返回 NXDOMAIN(域名不存在)

相关文档

基于 MIT 许可发布