Skip to content

介绍

DNS-Go 是一个基于 Go 语言开发的高性能 DNS 管理平台,提供 DNS 记录管理、上游策略配置、健康检查、日志分析等功能,并集成了现代化的 Web 管理界面。

为什么需要 DNS-Go?

在企业内网或私有云环境中,通常需要:

  • 内部域名解析 - 管理企业内部的服务域名
  • DNS 负载均衡 - 通过多个上游 DNS 实现高可用
  • 查询日志审计 - 记录和分析 DNS 查询行为
  • 灵活的解析策略 - 支持多种解析规则和策略

DNS-Go 正是为解决这些需求而设计的现代化 DNS 管理解决方案。

核心特性

🚀 高性能

  • 基于 Go 语言开发,充分利用 Go 的并发优势
  • 支持高并发 DNS 查询处理
  • 内置缓存机制,提升查询响应速度

🎨 现代化管理界面

  • 基于 Vue3 + Element Plus 构建
  • 响应式设计,支持移动端访问
  • 深色/浅色主题切换
  • 直观的操作体验

📊 完整的 DNS 功能

  • 域名管理 - 支持多域名管理,批量导入导出
  • 解析记录 - 支持 A、AAAA、CNAME、MX、TXT、NS 等多种记录类型
  • 上游策略 - 支持轮询、权重、故障转移等多种策略
  • 健康检查 - 自动检测上游 DNS 健康状态

🔍 日志与分析

  • 详细的 DNS 查询日志
  • 支持按域名、IP、时间等多维度查询
  • 实时统计和图表展示

🛡️ 安全与权限

  • JWT 认证机制
  • 基于角色的权限管理
  • 操作日志记录

适用场景

场景说明
企业内网 DNS管理企业内部服务域名解析
开发测试环境快速搭建测试环境 DNS 服务
边缘节点 DNS在边缘节点部署本地 DNS 服务
DNS 负载均衡通过多上游实现 DNS 高可用
DNS 审计记录和分析 DNS 查询行为

架构概览

┌─────────────────────────────────────────────────────────────┐
│                        用户层                                │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐      │
│  │   Web 界面   │  │   API 调用   │  │  DNS 客户端  │      │
│  └──────────────┘  └──────────────┘  └──────────────┘      │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│                      DNS-Go 服务层                          │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐      │
│  │   Web 服务   │  │   DNS 服务   │  │   缓存服务   │      │
│  │   (Gin)      │  │   (UDP 53)   │  │  (Valkey)    │      │
│  └──────────────┘  └──────────────┘  └──────────────┘      │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│                      数据存储层                              │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐      │
│  │  PostgreSQL  │  │    MySQL     │  │    SQLite    │      │
│  └──────────────┘  └──────────────┘  └──────────────┘      │
└─────────────────────────────────────────────────────────────┘

端口说明

端口协议用途说明
8085TCPWeb 管理界面和 API默认 Web 服务端口
53UDPDNS 查询服务标准 DNS 端口
53TCPDNS 查询服务支持 TCP DNS 查询
5432TCPPostgreSQL数据库服务端口(如使用)
6379TCPValkey/Redis缓存服务端口(如使用)

下一步

基于 MIT 许可发布