域名管理
域名管理是 DNS-Go 的核心功能之一,支持多域名管理、批量操作和域名分组。
功能概述
域名管理模块提供以下功能:
- 多域名管理:同时管理多个域名
- 域名状态控制:启用/禁用域名解析
- 批量导入导出:支持 CSV 格式批量操作
- 域名搜索:快速查找域名
- 统计信息:查看域名解析统计
域名概念
在 DNS-Go 中,域名是指您要管理的 DNS 区域(Zone)。例如:
example.com- 顶级域名example.local- 本地测试域名corp.internal- 企业内网域名
域名类型
| 类型 | 说明 | 用途 |
|---|---|---|
| 主域名 | 独立管理的 DNS 区域 | 如 example.com |
| 子域名 | 作为记录存在于父域名下 | 如 www.example.com |
注意:DNS-Go 管理的是主域名,子域名作为解析记录在域名下管理。
域名管理操作
创建域名
- 登录 Web 管理界面
- 进入「域名管理」→「域名列表」
- 点击「新增域名」按钮
- 填写域名信息:
- 域名:输入域名名称(如
example.local) - 描述:可选,填写域名的用途说明
- 状态:选择「启用」或「禁用」
- 域名:输入域名名称(如
- 点击「确定」保存
编辑域名
- 在域名列表中找到要编辑的域名
- 点击「编辑」按钮或域名名称
- 修改域名信息
- 点击「保存」
删除域名
⚠️ 警告:删除域名会同时删除该域名下的所有解析记录,操作不可恢复!
- 在域名列表中找到要删除的域名
- 点击「删除」按钮
- 确认删除操作
启用/禁用域名
- 禁用域名:暂停该域名下所有解析记录,DNS 查询将返回 NXDOMAIN
- 启用域名:恢复该域名下所有解析记录的正常解析
操作方式:
- 在域名列表中找到目标域名
- 点击状态开关切换启用/禁用状态
批量操作
批量导入
支持从 CSV 文件批量导入域名:
准备 CSV 文件,格式如下:
csvname,description,status example.local,测试域名,enabled corp.internal,企业内网,enabled test.local,测试环境,disabled进入「域名管理」→「域名列表」
点击「批量导入」按钮
选择 CSV 文件
预览导入数据
确认导入
批量导出
- 在域名列表中选择要导出的域名(可多选)
- 点击「批量导出」按钮
- 选择导出格式(CSV)
- 下载导出的文件
API 接口
获取域名列表
bash
GET /api/domain/list?page=1&pageSize=20&keyword=example请求参数:
| 参数 | 类型 | 说明 |
|---|---|---|
| page | int | 页码,默认 1 |
| pageSize | int | 每页数量,默认 20 |
| keyword | string | 搜索关键词(可选) |
响应示例:
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.local→192.168.1.100
Q: 可以管理公网域名吗?
可以,但需要:
- 在域名注册商处将域名的 NS 记录指向 DNS-Go 服务器
- 确保 DNS-Go 服务器的 53 端口可以被公网访问
- 建议配合 DNSSEC 使用(功能开发中)
Q: 域名状态对解析的影响?
- 启用状态:域名下所有解析记录正常生效
- 禁用状态:域名下所有解析记录暂停,DNS 查询返回 NXDOMAIN(域名不存在)