一般内网dns解析个人推荐使用:

1、skydns(特别是k8s+docker等云集群服务)

SkyDNS是kubernetes用于服务发现的默认的开源DNS服务,其开源在github。使用etcd作为数据存储。由于其在配置DNS信息时,几乎可以实时生效,所以SkyDNS比较适用于服务的动态注册。

基于Kubernetes集群部署skyDNS服务 -  https://www.cnblogs.com/zhenyuyaodidiao/p/6500992.html

2、dnsmasq

希望通过自定义的域名进行访问,这样比较方便,但每个人每台机器都维护一个hosts的话会非常麻烦,于是想搭建一个内部的DNS服务器,对自定义的域名进行解析,同时缓存公网的域名。

首先,向导的DNS服务器肯定是bind9,但所谓杀鸡焉用牛刀,并且bind9的配置和后期维护都是比较麻烦的,而内网这种测试环境又经常需要更新配置。于是,我们采用了dnsmasq,它的简单让系统运维开发维护起来比较便捷。

dnsmasq默认使用了/etc/hosts和/etc/resolv.conf,这样DNS本机也可以共享这些配置,但如果想要分开专门进行维护的话,可以在/etc/dnsmasq.conf中指定。dnsmasq默认还集成了DHCP与TFTP服务器,默认如果不配置的话服务不会启动。
      dnsmasq的优点在于快捷方便并易于维护,如果想实现比如多IP轮询,根据IP源做智能解析等高级功能,毫无疑问,安心上bind9吧。

3、直接修改代理服务器的/etc/host文件或者ip转发也可以实现

DNS是互联网的基础设备,开源的DNS也有不少,下面列出主要的几种供参考:

Bind9

ISC(Internet System Consortium)的Bind一直以来基本上都是DNS的工业标准,Bind应该是目前世界上使用最为广泛的DNS服务器了。Bind起源于1980年的Berkeley大学,比起我的年龄还大,Bind的名称也是源自 Berkeley Internet Name Domain 。不过Bind也是一直漏洞不断,Bind9是ISC开发人员对Bind重写,目前常见的Linux发行版本中,会自带Bind9的安装包。

Bind9可以作为权威与递归DNS。主要特性如下:

作为权威DNS时:

  • Response Rate Limiting (RRL):对DNS增强,以减少放大攻击
  • Dynamically-Loadable Zones (DLZ):支持从外部数据库获取Zone数据,但不建议使用在高性的权威DNS。
  • Minimum Re-load Time:支持配置文件动态加载。
  • HSM Support:支持通过原生的 PKCS#11接口或OpenSSL PKCS#11的接口的HSM( Hardware Security Modules)。
  • DNSSEC with In-line Signing:支持NSEC与NSEC3的安全协议的签名。
  • Catalog Zones:支持多Zone的目录管理。
  • Scalable Master/Slave Hierarchy:支持Master+多Slave组网,Slave从Master同步Zone配置。

作为递归DNS时:

  • NXDOMAIN Redirect:当查询一个不存在域名时,转向一个Web页面,它依赖于DLZ特征。
  • Flexible Cache Controls:对于不正确或过期的域名记录,灵活的缓存控制。
  • Split DNS:通过配置不同的View,来保护部分私有信息。
  • Optimum Cache Hit Rate:通过 DNS pre-fetch 技术来优化缓存命中率。
  • Resolver rate-limiting:在受攻击下,对权威DNS查询限速,减轻对路径解析器的DDoS攻击影响。
  • DNSSEC Validation:支持对DNSSEC的检验。
  • GeoIP:支持基于来源不同的递归DNS的请求给出不同的响应。
  • Response Policy Zone(RPZ):通过响应策略的Zone来减少对被认为是滥用或非法目的Zone的访问。

双License:ISC 与Mozilla Public 2.0。

开发语言:C。

官方网站: https://www.isc.org/    产品网站:https://www.isc.org/downloads/bind/

PowerDNS

PownerDNS发起于1999年,也是一个老牌的开源DNS了。它可以作为权威(最新版本3.4.11)与递归DNS(最新版本3.7.4)。2011年07月23日,PowerDNS 3.0 正式版发布,主要特性如下:

  • 完全支持 DNSSEC ,包括自动签名、rollovers 和密钥维护
  • TSIG,兼容 MyDNS 的后端
  • 基于 IPv6 的主从结构,并行从节点引擎,MongoDB 支持和 Lua 的区域编辑

欧洲30%+的域名采用PownerDNS,以及全世界75%+的DNSSEC应用。

作为权威DNS时:

  • Standards compliant serving of DNS information from all relevant databases

    • Text files, dynamic scripts in various languages
    • Native support for legacy BIND zonefiles
  • Leading DNSSEC implementation
    • worldwide, hosting >75% of all DNSSEC domains
  • Powerful dynamic abilities
    • Geographical load balancing
    • Content redirection, ‘best answer’ generation
  • Supported on generic hardware running generic operating systems

作为递归DNS时:

  • Standards compliant resolution of domain names

    • Strive for maximum resolution percentage
    • or conversely, least customer complaints
  • Powerful dynamic abilities
    • Content redirection
    • ‘best answer’ generation
    • query & answer modification
    • Filtering
  • Supported on generic hardware running generic operating systems

提供相关的工具:

  • dnsscope: query/answer latency time statistics
  • dnsreplay: replay existing traffic against reference nameservers
  • dnsgram: per-time period sampling of traffic to determine overloads
  • dnswash: anonimize PCAP traces, hiding IP addresses, for third party analysis

支持API,承载在(Local socket,”raw” TCP/IP,RESTful API direct,)

  • Statistics
  • Provisioning
  • Zone editing
  • Master/slave operations
  • Log-file investigations
  • Configuration (updates)
  • Stop/Start/Upgrade/Restart

License:GPL 2.0。

开发语言:C++,扩展:Lua。

官方网站: https://www.powerdns.com/

CoreDNS

CoreDNS去年8月份发起新的开源项目,目前已纳入开源基金会CNCF(Cloud Native Computing Foundation,云端原生计算基金会),它归属于Linux基金会。

CoreDNS的前身是SkyDNS,它的主要目的是构建一个快速灵活的DNS服务器,让用户可以通过不同方式访问和使用DNS内的数据。它被设计为Caddy网络服务的一个服务器插件。CoreDNS的每个特性都可以被实现为可插拔的中间件,如,日志、基于文件的DNS以及多种后端技术,进而可以拼接多个插件来创建定制化的管道。CoreDNS已经得到扩展,可以直接被Kubernetes访问服务数据,并以KubeDNS的形式提供给用户使用。

CoreDNS同样可以权威与递归DNS,目前官方的中间件已有31个:

  • bind: Serve zone data from a file; both DNSSEC (NSEC only) and DNS are supported (file).
  • dnssec: Sign zone data on-the-fly
  • cache: Caching
  • etcd: Use etcd as a backend, i.e., a 101.5% replacement for SkyDNS
  • kubernetes: Use k8s (kubernetes) as a backend
  • proxy: Serve as a proxy to forward queries to some other (recursive) nameserver
  • loadbalance:Load balancing of responses
  • rewrite: Rewrite queries (qtype, qclass and qname)

License: Apache-2.0。

开发语言:GO。

官方网站: https://coredns.io/

其它

DNSPod-SR

dnspod-sr是中国最大域名解析服务商DNSPod官方于2012年6月1日开源的一款递归DNS服务器软件。

主要特性:

  • CNAME解析加速
  • A记录组包缓存
  • 请求转发功能
  • 缓存刷新功能
  • HASH表缓存

License:BSD。

开发语言:C。

官方网站: https://github.com/DNSPod/dnspod-sr

Dnsmasq

DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。

作为域名解析服务器(DNS),dnsmasq可以通过缓存 DNS 请求来提高对访问过的网址的连接速度。

License: GPL-2.0。

开发语言:C。

官方网站: http://www.thekelleys.org.uk/dnsmasq/

Atomia DNS

Atomia DNS是一个多租户DNS 管理系统 ,通过编程接口处理大量的DNS数据。Atomia DNS支持对PowerDNS和BIND-DLZ DNS服务器的代理,PowerDNS是默认代理选项。

主要特性:

  • 支持DNSSEC
  • 完整,易于使用的API
  • 生产环境可用
    Atomia DNS已被用于大规模生产环境好几年,并建有托管考虑大规模DNS。无论您举办数百个DNS区域或数百万,Atomia DNS将做的工作。

Atomia DNS License:ISC。

开发语言:PHP。

Atomia DNS是DNS系统,可轻松管理DNS区域,通过的编程SOAP接口。

官方网站: http://atomiadns.com/

项目地址:https://github.com/atomia/atomiadns
帮助文档:http://atomia.github.io/atomiadns/

安装指南:http://atomiadns.com/get-started/install-atomia-dns/

DNS 开源DNS之Atomia DNS介绍 -https://blog.csdn.net/zhu_tianwei/article/details/45224263

SmartDNS

小米开源的基于twisted实现的智能dns系统:Smartdns

使用场景:   全局负载均衡

smartdns是python语言编写,基于twisted框架实现的dns server,能够支持针对不同的dns请求根据配置返回不同的解析结果。smartdns获取dns请求的源IP或者客户端IP(支持edns协议的请求可以获取客户端IP),根据本地的静态IP库获取请求IP的特性,包括所在的国家、省份、城市、ISP等,然后根据我们的调度配置返回解析结果。

smartdns的使用场景:

  1. 服务的多机房流量调度,比如电信流量调度到电信机房、联通流量调度到联通机房;
  2. 用户访问控制,将用户调度到离用户最近或者链路质量最好的节点上。

主要特性:

  • 支持A、SOA、NS记录的查询
  • 支持DNS forward功能

举个简单的例子,我们的一个站点test.test.com同时部署在电信和联通两个机房,该站点在电信机房的ip为1.1.1.1、在联通机房的ip为2.2.2.2,就可以通过smartdns做到该站点域名解析时判断源IP为电信的IP时返回1.1.1.1、判断源IP为联通的IP时返回2.2.2.2,从而达到不同运营商机房流量调度的目的。

License:未注名

开发语言:Python。

官方网站: https://github.com/xiaomi-sa/smartdns

MaraDNS

MaraDNS is a free open-source computer program written by Sam Trenholme. I wrote MaraDNS while I was a college student and a travelling English teacher during the first 2000s decade. Now that I’m working as a professional software developer, I am not adding features to it as quickly as I used to.

MaraDNS implements the Domain Name System (DNS), an essential internet service. MaraDNS is open source software: This means that anyone is free to download, use, and modify the program free of charge, as per its license.

People like MaraDNS because it’s small, lightweight, easy to set up, and remarkably secure. It’s also cross platform — the program runs both in Windows and in UNIX clones.

轻量级dns,its 开源协议授权。

官方网站:https://maradns.samiam.org/

总结

Bind9是最为成熟的DNS Server,代表了DNS的标准,它特性丰富,License友好,使用者众多,是作为权威与递归DNS的首先,缺点是扩展性一般(相对于CoreDNS),安全漏洞相对比较多(也说明使用者多,被研究与攻击多)。

CoreDNS是开源DNS Server的新星,它的架构优秀,扩展性非常好,是非常有前途的DNS;又在Linux基金会下,有Google带头大哥,主创人员为安全公司Infoblox,所谓是背影深厚。但由于项目时间太短,使用未经大规模考验,待它成熟之后,不排除它可能代替Bind9,成为互联网的基础设施。

PowerDNS它有成熟的管理控制系统,相比于Bind9,它提供基于REST API以及基于Lua脚本的扩展能力。但它的License商用不友好。在商用产品中集成或使用它要注意边界,避免使整个产品开源。

开源内网DNS服务器软件介绍相关推荐

  1. 搭建内网DNS服务器教程

    内网DNS服务器的软件有许多,比如Bind9,dnsmasq,PowerDNS等等 而这次搭建内网dns服务的软件CoreDNS,CoreDNS是Golang编写的一个插件式DNS服务器,也是Kube ...

  2. 云计算之路-试用Azure:搭建自己的内网DNS服务器

    之前我们写过一篇博文谈到Azure内置的内网DNS服务器不能跨Cloud Service,而我们的虚拟机部署场景恰恰需要跨多个Cloud Service,所以目前只能选择用Azure虚拟机搭建自己的内 ...

  3. ubuntu_内网dns服务器搭建

    dns服务器:ubuntu 16.04,ip地址为:192.168.1.102 使用最傻瓜是的部署就是去 docker hub 拉一个 镜像下来,这里拉取的是 andyshinn/dnsmasq, h ...

  4. DNS服务——搭建企业内网DNS服务器的作用

    前言 DNS服务--服务端 和 客户端 配置 介绍了如何在DNS安装DNS服务,更改一下配置文件就可以依据根提示解析全球域名.既然使用互联网上的DNS服务器就可以解析全球域名,为何还要自掏腰包搭建DN ...

  5. 【内网穿透服务器】使用FRP实现内网穿透,远程访问内网服务器

    使用FRP实现内网穿透,远程访问内网服务器 frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持 ...

  6. 配置内网DNS实现内部域名解析

    服务器 实战目的: ü 配置内网的DNS服务器实现内网服务器的域名解析. ü 配置内网的DNS服务器减少到Internet的域名解析流量. ü 配置内网的DNS服务器实现Internet上服务器的域名 ...

  7. 乐鑫Esp32学习之旅13 esp32 内置 dns 服务器,无需外网访问域名返回指定网页。(附带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...

  8. Windows服务器补丁列表及介绍_内网补丁服务器搭建

    应一个关注朋友的要求,在这里介绍一下关于内网补丁服务器的搭建教程. 现在各政企对内网的管控越来越严格,分层也越来越明细.从而很多的内网服务器及终端机无法链接互联网.导致无法及时更新补丁,造成严重的内网 ...

  9. ubuntu 局域网dns服务器_如何在 Ubuntu 16.04 服务器上配置内网 DNS 服务

    DNS 1. 简介 本文使用 BIND9,用尽量少的步骤,搭建出一个可用的内网 DNS 服务.另外要说明的一点是,本文不仅适用于 Ubuntu 16.04,也使用其后的 Ubuntu 系统(截止到目前 ...

  10. ngrok配置信息_ngrok内网穿透服务器搭建及配置(附 frp 配置)

    12月18日更新 添加 frp 配置 前言 内网穿透,无需多言,用处多多.首先强力推荐一款Sunny大大搭建的ngrok服务好用的不行,而且有免费选项,感觉平时够用了.那么,为什么自己还要搭建一个呢? ...

最新文章

  1. 哲学家就餐问题c语言_哲学家就餐问题的一种Python解决方案
  2. R语言使用latticeExtra包可视化双Y轴线图实战(Dual Y axis):单y轴线图、双y轴图线图、双y轴图线图(添加图例)
  3. Android初始化过程
  4. Virtio:针对 Linux 的 I/O 虚拟化框架
  5. 经典面试题:在这个场景下,你怎么进行性能调优?
  6. 外国人看我国量子计算机祖冲之号,1.2小时完成超算8年!我国“祖冲之号”量子计算机刷新记录...
  7. 再见切赫!斯坦福桥“坦克兵”不止是蓝军传奇
  8. VMware-构建下一代的服务器虚拟化平台
  9. springboot日志输出异常_基于aop进行springboot接口调用日志和埋点日志输出,支持json格式方便elk收集...
  10. Oracle之学习if条件选择语句
  11. 学画画软件app推荐_一步一步教画画的app有哪些_2018手机画画软件哪个好呢_96u手游网...
  12. Linux命令总结大全,包含所有linux命令
  13. 比尔·盖茨创立的泰拉能源获SK集团投资2.5亿美元;阿特拉斯科普柯中国工业气体装备研发生产基地落户苏州 | 美通企业日报...
  14. 谷粒商城 Day09 首页分类与SpEL动态缓存切面
  15. JS中的函数声明和函数表达式
  16. application.yml与bootstrap.yml的区别
  17. SAS、scsi、sata、ide硬盘有什么区别
  18. 快速建立个性化网站【凡科建站】
  19. 各种各样的网络免费接口,直接解析JSON即可
  20. 【SQL开发实战技巧】系列(四):从执行计划讨论UNION ALL与空字符串UNION与OR的使用注意事项

热门文章

  1. 大M单纯形算法的MATLAB实现
  2. Android实现QQ音乐QMC格式转MP3格式
  3. 你想在网易云音乐中播放 QQ 音乐中下载的歌曲吗?用上它后助你秒实现!
  4. ECharts百度图表
  5. linux leach仿真数据传输图性能,基于OMNeT-+-+的Leach协议的仿真研究.pdf
  6. 第二章-信源与信息熵(一)
  7. 纯干货 | 从淘宝到云端的高可用架构演进
  8. 解决google浏览器自动播放问题,亲测可用!!
  9. 计算机大学职业规划2000字论文格式,大学生职业生涯规划2000字论文
  10. 不知道如何做好精益生产管理?可能是你的企业还没有进行工时分析