在互联网的时代, DNS解析是非常重要的一环. 没有好的可靠的DNS解析, 你的上网体验会变得非常差劲与糟糕.
虽然很多人都没有意识到DNS的存在. 但事实上在你访问网站中, 时刻都依赖DNS的域名解析.
这篇文章, 我主要是介绍什么是DNS以及什么情况下你需要考虑一个自己的DNS域名解析. 下一篇, 我会介绍何基于开源的AdGuard Home
来搭建一个你私有的DNS域名解析.
先从DNS是什么说起
DNS的全称是Domain Name System
, 中文称为域名系统
. DNS的核心作用就是将访问的网站域名解析到真实的IP地址.
事实上, 当你想访问一个网络服务时, 最终是需要知道它的真实IP地址, 但IP地址都是类似192.168.1.1
这样的令人难以记忆的地址. 相对而言, taoofcoding.tech
这样的域名才容易被大家记住. 所以, 当你在浏览器或其它地方, 使用域名时, 最终是依赖DNS来帮助你把它解析为最终的IP地址.
当然, DNS域名解析还依赖于域名服务器 , 根域名服务器, TLD域名服务器, 权威性域名服务器等的一整套上下层级的支持.
现在, 你只要知道, DNS服务对你访问互联网是非常重要的一环就可以了.
在了解了什么是DNS服务之后, 接下来我们就会有一个问题, 什么情况下, 我会需要一个私有的DNS服务?
那先从究竟我们上网, 是在用谁的DNS服务说起吧.
不管是电脑, 手机或任何能联上网的设备, 分配网址后, 都会默认分配一个DNS服务地址. 由这个DNS服务地址来承担这个上网设备的DNS域名解析服务.
那默认的DNS服务地址,究竟是怎么来的?
通常来说, 有以下几种可能
由网络服务商提供
如果你连接的是电信提供的网络, 那电信就有自己的DNS域名解析. 同样的道理适合联通, 移动等.
网络运营商都有自己的DNS域名解析服务.
如果你没有自己额外做其它设置, 那你其实使用的网络运营商提供的DNS解析
路由器设定的DNS地址
大多数场景下, 我们的网络设备并不直接上网, 而是通过家庭或公司路由器来上网.
在这种场景下, 如果路由器中设定了指定的DNS域名解析, 那你上网就是用的路由器中设定的DNS域名解析. 当然, 你在路由器中设定的DNS解析可以是网络运营商提供的,也可以是公开的DNS域名解析服务, 甚至是你自己的私有DNS解析服务了.
公开可靠的DNS解析
除了网络运营商提供的DNS地址之外, 还有一些公开的DNS解析, 特别是很多互联网公司提供的, 相较于网络运营商提供的, 它们可能速度更快, 更可靠.
比如国外的有:
国内比较有名的有:
很多程序员其实都偏好这一类公开的DNS服务. 而大多数普通用户可能压根没意识到DNS, 也就是使用的是默认的网络运营商的DNS.
好了, 我们现在可以开始回答, 为什么你可能会需要一个自己的DNS服务?
本质原因在于: 别人的DNS服务可能不可靠,也无法提供个性化的能力
具体拆开来说, 主要是以下几点:
DNS劫持
所谓DNS劫持, 是指DNS解析被恶意修改, 重定向到其它网站, 甚至是恶意网站的可能.
当然, 公开的DNS服务大多不存在这个问题, 但在国内, 的确存在一些DNS劫持的可能性, 不过不是恶意网站, 更多的可能是广告
DNS污染
DNS污染和DNS劫持有点类似, 但劫持的目的是让你访问另一个它希望让你访问的网站, 比如广告. 而DNS污染则是让你访问不了你想访问的网站.
只要DNS返回错误的IP, 你就访问不了指定的网站. 因此, DNS污染是一个常见的行为.
你的访问被记录
好吧, 也许我们总有一些不希望自己访问历史被别人知道的可能.
但使用公开的域名解析, 基于你的IP, 可以轻易的知道你在什么时候, 解析了什么域名.
如果你比较在意你的个人隐私, 那这一点可能会令你不太喜欢.
无法个性化
很多个性化的场景, 在公开的DNS服务上都没法实现.
比如你希望为你的家庭在DNS层级做广告拦截, 保护家人和小孩的上网健康. 再比如你的公司或团队, 将一个内部虚拟域名解析到内部地址等个性化的DNS解析.
公有DNS是无法满足这个需求.
现在你理解了, 如果你有一些上述场景的需求, 那搭建一个自己的DNS域名解析, 能给你带来非常多的好处.
搭建一个私有的DNS不会很难. 在现在这个开源的时代, 利用开源搭建一个你自己的DNS非常简单与轻松. 而在这些开源的方案中, 以AdGuard Home
最为出色,功能最为完善.
下一篇再来具体介绍AdGuard Home
的安装与使用.