Skip to content

micro-plat/ddns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ddns

提供简单、快速的 DNS 缓存服务

√  支持 linux,macos

√  支持从hosts(/etc/hosts*,C:\Windows\System32\drivers\etc\hosts*)读取配置信息

√  支持从//etc/resolv.conf,windows注册表读取上游 DNS 服务器 IP

√  支持从注册中心/dns读取配置

√  支持hydra应用注册的dns服务

√  缓存上游 DNS 解析结果,加快响应速度

√  所有配置热更新,无需重启服务

√  上游 DNS 服务器检测,优先使用速度最快的服务器

√  基于hydra实现

1. 快速使用

  • 下载
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

2. hosts 文件

  • 修改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

3.注册中心

  • 进入注册中心(fszookeeper),在节点/dns目录下新建域名,和解析的 IP,如:
/dns
-----google.com
--------172.217.6.127

4.hydra 服务

为API服务设置解析域名

hydra.Conf.API(":8081", api.WithDNS("www.ddns.com"))

DDNS实时收到解析信息

[2019/08/23 16:31:12.48855][i][9077e9414][缓存:www.ddns.com,1条]

5.上游 DNS

未在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

7. 优先级

注册中心 > 本地 HOSTS > 上游 DNS

About

简单、快速、本地化的 DNS服务

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages