为何你要运行自身的 DNS 服务器?

北京云巢动脉科技有限公司

你的位置:北京云巢动脉科技有限公司 > 产品展示 > 为何你要运行自身的 DNS 服务器?
为何你要运行自身的 DNS 服务器?
发布日期:2022-08-07 04:35    点击次数:51

使得 DNS 难以理解的事变之一是它是 漫衍式的。有不计其数(大略是几十万?我不晓得!)的权势巨头性域名服务器authoritative nameserver,以及起码 1000 万个剖析器。而且它们正在运行良多差别的软件!差别服务器运行着差别的软件意味着 DNS 的事变要拥有良多不一致之处,这大略导致种种使人丧气的成就。

然则,与其议论这些成就,我更感兴致的是弄清楚 —— 为何 DNS 是漫衍式的是一件功德?

为何 DNS 是漫衍式的是件功德?

一个启事是 可扩张性 —— DNS 的漫衍式策画使其更苟且扩张,对体系毛病的光复才能更强。我缔造,尽管 DNS 已经有近 40 年的历史,但它的扩张性仍然很好,这真是使人惊异。这一点极度首要,但这着实不是这篇文章的主题。

相反,我想说的是,它是漫衍式的意味着你可以或许 掌握 你的 DNS 的事变要领。你可以或许向巨大而宏壮的 DNS 服务器中增加更多的服务器!增加你掌握的服务器!

昨天我 在 Twitter 上问 为何你要运行自身的 DNS 服务器,我失去了良多很好的答案,我想在这里总结一下。

你可以或许运行 2 种范例的 DNS 服务器

你可以或许运行 2 种首要范例的 DNS 服务器:

假定你拥有一个域名,你可觉得该域名运行一个 权势巨头名称服务器 假定你有一台电脑(或一个有良多电脑的公司),你可以或许运行一个 剖析器 来为这些电脑剖析 DNS。 DNS 不是静态数据库

我常常看到 DNS 的 “电话簿” 比方,域名就像人名,IP 地点就像电话号码。

这是一个不错的思惟模型。然则,“电话簿” 思惟模型大略会使你觉得,假定你对 谷歌.com 举行 DNS 查询,你将永久失去沟通的终局。而这是不准确的。

你在 DNS 查询中失去的记载大略取决于:

你活着界的哪一个地方(大略你会失去一个离你更近的服务器的 IP 地点) 你是否在企业网络里(你可以或许在个中剖析外部域名) 该域名是否被你的 DNS 剖析器觉得是 “坏” 的(它大略被封闭!) 从前的 DNS 查询(大略 DNS 剖析器正在做基于 DNS 的负载平衡,每次给你一个差别的 IP 地点) 你是否在应用机场 Wi-Fi 专属流派(机场 Wi-Fi 会在你登录前以差别的要领剖析 DNS 记载,它会给你发送一个不凡的 IP 来重定向你) 恣意什么

你大略想掌握你自身的服务器的良多启事都与 DNS 不是一个静态数据库这一现实无关 —— 对付怎么样处理惩罚 DNS 查询,你大略会有差别的抉择(不管是为你的域名照旧为你的构造)。

运行权势巨头性名称服务器的因由

这些启事并无任何特定的按次。

对付个中一些启事,你不必定必必要运行你自身的权势巨头名称服务器,你只有抉择提供了该功用的权势巨头名称服务器服务就好了。

要大白的是:有良多因由 不 运行自身的权势巨头名称服务器 —— 我就没有运行,我也不想压伏你该当这样做。它必要时光来回护,你的服务大略不那末牢靠,等等。

启事:安好

这条推文说的很好:

[存在] 袭击者经由过程你的 DNS 提供商的客户支持人员获取 DNS 厘革权限的危险,客服原本只该当提供协助。他们可以或许被你的 DNS 阻止(大略就是因为缺乏这个)。外部大略更苟且审计和验证内容。

启事:你爱好运行 bind/nsd

有几集团提到的一个启事是:“我习性于编写地区文件和运行 bind 或 nsd ,对我来说这样做更苟且。”

假定你爱好 bind/nsd 的要领,但又不想运维自身的服务器,有几集团提到,你也可以经由过程运行一个 “潜匿的主服务器” 来获取 bind 的劣势,该服务器存储记载,但从一个 “辅佐” 服务器提供全体的理论 DNS 查询。这里有一些我缔造的对付设置辅佐 DNS 的网页,以 NS一、cloudflare 和 Dyn 作为示例。

我真的不晓得什么是最好的权势巨头 DNS 服务器。我想我只在事变中应用过 nsd。

启事:你可应用新的记载范例

并不是全体的 DNS 服务都支持某些较新的 DNS 记载范例,但假定你运行你自身的 DNS,你就能支持任何你想要的记载范例。

启事:用户界面

你大略不爱好你正在应用的 DNS 服务的用户界面(或 API,或兴奋没有 API)。这与 “你爱好运行 BIND ”的启事差不多,大略你爱好编写地区文件的要领。

启事:你可以或许自身修复成就

当成就出现时,大略自身经管,有一些分明的所长和弱点(所长:你可以或许经管成就,弱点:你必须经管成就)。

启事:做一些稀罕的、自定义的事变

你可以或许写一个 DNS 服务器,做任何你想做的事变,产品展示它不必定要只前去一组静态记载。

有几个例子:

Replit 有一篇博文介绍了 为何他们编写自身的权势巨头性 DNS 服务器来处理惩罚路由 nip.io 将 10.0.0.1.nip.io 晖映为 10.0.0.1 我为 乱用 dns 而写了一个自定义 DNS 服务器 启事:省钱

权势巨头名称服务器宛若普通按每百万次 DNS 查询免费。比方,宛若 Route 53 每百万次查询免费 0.5 美元,NS1 每百万次查询免费约 8 美元。

我对一个大型网站的权势巨头 DNS 服务器理论必要经管几屡次查询没有见解(哪些范例的网站会对其权势巨头 DNS 服务器举行 10 亿次 DNS 查询?大略是良多,但我没有这方面的经历)。然则有几集团在中兴中提到成本是一个启事。

启事:你可以或许改变你的注册商

假定你为你的域名应用一个零丁的权势巨头名称服务器,而不是你的注册商的名称服务器,那末当你转移到一个差别的注册商时,你所要做的就是把你的权势巨头 DNS 服务器设置为准确的值,从而使你的 DNS 光复畸形。你不必要迁移你全体的 DNS 记载,那极度苦楚。

但你不必要为此而运行你自身的名字服务器。

启事:天文 DNS

你大略想痛处客户的职位地方为你的域名前去差别的 IP 地点,给他们一个离他们很近的服务器。

这是良多权势巨头的域名服务器服务所提供的服务,你不必要为此而专门运行名字服务器。

启事:防止针对他人的推卸服务袭击

良多权势巨头 DNS 服务器是同享的。这意味着,假定有人袭击 谷歌.com 或别的的 DNS 服务器,而你正好在应用同一个权势巨头 DNS 服务器,你大略会受到影响,纵然袭击不是针对你。比方,2016 年的这次 对 Dyn 的 DDoS 袭击。

启事:把全体的设置放在一个地方

有一集团提到,他们爱好把全体的设置(DNS 记载、let's encrypt、nginx 等)放在一台服务器上的同一个地方。

另类启事:把 DNS 看成虚拟公用网络应用

显明,iodine 是一个可以或许让你经由过程 DNS 隧道传输流量的权势巨头 DNS 服务器,它可以或许让你像虚拟公用网络同样与外界联络,

运行剖析器的启事 启事:隐私

假定有人能看到你全体的 DNS 查询,他们就有你(或你构造中的每一集团)正在拜访的全体域名的完备列表!你大略更违心对立这类隐私。你大略更违心对立这类隐私。

启事:阻止恶意网站

假定你运行你自身的剖析器,你可以或许(经由过程不前去任何终局)推卸剖析你觉得 “坏” 的域名的 DNS 查询。

几个你可以或许自身运行(或只是应用)的剖析器的例子:

Pi-Hole 阻止广告商 Quad9 阻止做恶意软件/网络垂钓/特务软件的域名。 Cloudflare 宛若有一个 近似的服务 我想也有一些企业安好软件会阻止那些托管恶意软件的域名的 DNS 查询 DNS 不是静态数据库。它是极度静态的,答案每每实时取决于查询的 IP 地点、内容服务器的今后负载等。除非你将这些记载的服务委托给做出这些抉择的实体,否则很难实时完成。 DNS 委派掌握使拜访掌握极度俭朴。从地区中切下的部份都由掌握委派服务器的人掌握,所以对一个主机名的义务是隐含在 DNS 委派中的。 启事:在 nginx 中获取静态代理

这里有一个很酷的故事,来自 这条推文:

我在一个应用顺序中写了一个 DNS 服务器,尔后把它设置为 nginx 的剖析器,这样我就能获取静态的后端代理,而不必要 nginx 运行 lua。Nginx 向应用顺序发送 DNS 查询,应用顺序查询 Redis 并作出响应的反馈。这对我正在做的变瞎搅讲,结果极度好。

启事:防止恶意剖析器

一些 ISP 运行的 DNS 剖析器会做一些不好的事变,比方把不存在的域名指向他们掌握的 IP,向你体现广告或他们掌握的稀罕的征采页面。

应用你掌握的剖析器或你信任的另外一个剖析器可以或许协助你防止这类环境。

启事:剖析外部域名

你大略有一个外部网络,其域名(比方 blah.corp.yourcompany.com)着实不在民众互联网上。为外部网络中的古板运行你自身的剖析器,就有大略拜访这些域名。

不管是拜访只在外埠的服务,照旧为民众互联网上的服务获恰外埠地点,你均可以或许在家庭网络中做同样的事变。

启事:防止你的 DNS 查询被中央人劫持

有一集团 说:

我在我的局域网路由器上运行了一个剖析器,它的上游应用了基于 HTTPS 的 DNS(DoH),所以物联网和别的不支持 DoH 或 DoT 的动作举措不会在外表喷射明文 DNS 查询。

就是这样

对我来说,探索 DNS 的 “启事” 感到很首要,因为它是一个云云宏壮纷乱的体系,我觉得大大都人假定不睬解为何这些宏壮的货物是有效的,就很难有动力去深造这么宏壮的主题。