在互联网的时代, DNS解析是非常重要的一环. 没有好的可靠的DNS解析, 你的上网体验会变得非常差劲与糟糕.
问题:虽然公开公用的DNS基本上达到了足够好用,为什么你可能还是需要一个自建的DNS服务?
本质原因在于: 别人的DNS服务可能不可靠,也无法提供个性化的能力
具体拆开来说, 主要是以下几点:
1、DNS劫持:DNS解析被修改, 重定向到其它网站, 甚至是恶意网站的可能.
自建DNS可以选择可信的上游DNS避免被劫持,也可以实现一些自定义劫持的需求。
2、DNS污染:和DNS劫持有点类似, 但劫持的目的是让你访问另一个它希望让你访问的网站, 比如广告. 而DNS污染则是让你访问不了你想访问的网站.只要DNS返回错误的IP, 你就访问不了指定的网站. 因此, DNS污染是一个常见的行为.
3、自定义域名:有些服务需要域名和证书,例如vcenter等。如果没有一个注册好的域名,或者不想在公网DNS中添加域名解析,这时一个自建的DNS能帮你解析一些并不存在的域名。

解决方案:
1、如果精通Windows Server,大可以使用Windows的DNS服务器功能。虽然略显笨重,但是有GUI便于维护。如果有域控的需求,Windows目前仍是不二之选。
2、如果熟悉Linux,并且喜欢通过修改配置文件来实现配置变更的方式,可以选用bind这种最简单的搭建方式。
3、如果熟悉linux又喜欢用GUI,仍有很多选项。比如PowerDNS和ADGuardHome。
PowerDNS的好处很明显,使用mysql存储解析配置,并且可以通过mysql的主从同步实现多点解析同步。
ADGuardHome的名字虽然像是个广告拦截器,实际上他确实也有这个功能,但是作为DNS和DNS中继器也是很好用的。

为了避免在大局域的各个站点要配置不同的DNS地址,各站点的DNS地址是统一的,致敬一下中国互联网创业的前辈,统一配置成3.7.2.1吧。

我的场景中域名是购买的真实域名,假设为abc.com,并且与内网的域控域名保持相同,域名在公网的解析使用cloudflare
内网主站点使用Windows搭建AD作Master,域名为abc.com,各个站点搭建域控的Slave与Master同步;
各分支站点一键部署ADGuardHome用作中继器,*.abc.com解析转发给本地的域控Slave在本地进行解析,其他解析请求转发到当地运营商或当地优选DNS进行解析;
所有abc.com解析到内网地址的在域控Master配置解析,自动同步到各站点Slave;
所有abc.com解析到公网地址的在域控Master配置解析,同时在cloudflare配置解析;

所有用户终端vpn接入配置指定DNS到3.7.2.1实现解析。

标签: none

添加新评论