提供简单、快速的 DNS 缓存服务
√ 支持 linux,macos
√ 支持从hosts(/etc/hosts*,C:\Windows\System32\drivers\etc\hosts*)读取配置信息
√ 支持从//etc/resolv.conf,windows注册表读取上游 DNS 服务器 IP
√ 支持从注册中心/dns读取配置
√ 支持hydra应用注册的dns服务
√ 缓存上游 DNS 解析结果,加快响应速度
√ 所有配置热更新,无需重启服务
√ 上游 DNS 服务器检测,优先使用速度最快的服务器
√ 基于hydra实现
- 下载
go get github.com/micro-plat/ddns- 编译
go install github.com/micro-plat/ddns- 安装
sudo ddns install- 运行
sudo ddns start- 测试
dig github.com @127.0.0.1- 本机使用
sudo vim /etc/resolv.conf
#修改内容如下:
nameserver 127.0.0.1- 修改
hosts文件,添加需解析的域名,删除无需解析的域名 etc目录下新建名称以hosts开头的文件,添加解析信息
sudo vim /etc/hosts_google# Google Start
172.217.6.127 com.google
172.217.6.127 domains.google
172.217.6.127 environment.google
172.217.6.127 google.com
172.217.6.127 google.com.af
172.217.6.127 google.com.ag
172.217.6.127 google.com.ai
172.217.6.127 google.com.ar
172.217.6.127 google.com.au
"/etc/hosts_google" 9L- 进入注册中心(
fs或zookeeper),在节点/dns目录下新建域名,和解析的 IP,如:
/dns
-----google.com
--------172.217.6.127为API服务设置解析域名
hydra.Conf.API(":8081", api.WithDNS("www.ddns.com"))DDNS实时收到解析信息
[2019/08/23 16:31:12.48855][i][9077e9414][缓存:www.ddns.com,1条]未在hosts*,或注册中心配置的域名,直接使用上游DNS服务器查询域名解析结果
- 打开
/etc/resolv.conf文件,添加上游 DNS 服务器 IP
sudo vim /etc/resolv.conf nameserver 127.0.0.1
nameserver 114.114.114.114
nameserver 8.8.8.8注册中心 > 本地 HOSTS > 上游 DNS