我们应该主办我们自己的名字服务器?

这是一个关于是否将DNSparsing外包给自己的域的典型问题

我目前有我的ISP为我的域提供DNS,但是它们对添加logging施加了限制。 因此,我正在考虑运行我自己的DNS。

你喜欢自己的DNS,还是让你的ISP做这个更好?

有什么替代scheme我可以看看?

我不会运行我自己的DNS服务器 – 在我的情况下,托pipe我的网站的托pipe公司提供免费的DNS服务。 还有其他的select,那些除了DNS主机什么也不做的公司( DNS Made Easy ,但也有很多其他的),你应该考虑一下。

我不这样做的原因是,DNS应该是相当可靠的,除非你有自己的服务器地理分布的networking,你可以把所有的鸡蛋放在一个篮子里,可以这么说。 此外,还有大量的专用DNS服务器,足够你不需要启动一个新的。

我们总是主持我们自己的DNS(也是最好的反向DNS)。 这使我们能够在不依赖第三方的情况下进行紧急变更。 如果您有多个位置,则可以轻松地为您的DNS服务器设置一个可接受的冗余级别。

如果你没有多个网站,那么我会考虑一个专门做DNS主机(不是你的ISP)的网页界面进行更改。 也寻找全天候的支持和体面的SLA。

为您的域(s),一个好的,可靠的DNS设置,你应该有…

  • 您的域至less需要两个授权DNS服务器;
  • DNS服务器应连接到不同的物理networking和电源;
  • DNS服务器应该位于不同的地理区域。

由于您不太可能访问上述networking基础设施,因此最好select具有上述networking基础结构的信誉良好的DNS托pipe提供商(如其他人所推荐的那样)。

多年来,我使用BIND(版本8和9)运行自己的DNS服务器,没有任何麻烦。 我将版本控制中的configuration存储在validation区域文件的post-commit检查中,然后让我的DNS服务器定期检查区域文件。 问题总是确保SOA序列号被更新,每个提交被推出,否则caching服务器不会更新。

多年以后,我与djbdns一起工作,因为这种格式非常适合使用自动化脚本来pipe理区域,并且不会遇到我必须使用BIND处理的同样的SOA序列号问题。 但是,它有自己的问题,不得不格式化某些资源logging集,以使其被接受。

正如我发现我的很多stream量是DNS,并且必须同时维护一个主DNS服务器和二级DNS服务器,以取悦我已经迁移到使用EasyDNS来满足我的DNS需求的注册服务商。 他们的networking界面很容易pipe理,并为我提供了pipe理我的RR设置所需的灵活性。 我还发现,与一些托pipe服务提供商提供的服务相比,比如1&1限制了您可以input的可用的RR设置,甚至像Network Solutions这样的域名注册商,只有在您使用Windows来pipe理您的DNS时才有效。

对于我个人的域名(以及我帮助的一些朋友的域名),我们托pipe了我们自己的DNS,我的注册服务商(Gandi)提供了二级DNS。 或者另一个networking上的朋友提供辅助。 甘地不立即更新区域,他们似乎每24小时左右检查一次,但变化很less; 对我们来说工作得很好,他们的服务器可能比我们的可靠得多。

在我的工作中,我们做我们自己的DNS,我们的上游networking提供商提供辅助DNS。 但是,我们是一所大学,99%的用户在现场; 如果本地networking出现故障,DNS是否closures并不重要。 此外,我们有一个完整的B类(/ 16),大约有25k个DNSlogging(当然还有25k个反向DNSlogging),通过Web界面pipe理似乎有些尴尬。 我们的本地DNS服务器是高度可用和快速。

我做了两个。 当你的老板问你为什么要花这么长时间的时候,你肯定会学到很多关于DNS是如何工作的。 而且,你在控制你的区域方面更有效率。 这并不总是像它应该那样强大,很大程度上是由于DNS的层次分布性 – 但是它们每时每刻都派上用场。 如果你能让你的提供者把你分配给你的IP块的反向DNS的SOA,假设你有一个。

然而,上面所有关于如何真正应该有很多内置的失败抵抗的评论是轰动的。 位于不同地理区域的不同数据中心的服务器非常重要。 在2003年东北地区大规模停电事故中,我们都知道,在同一个城市,甚至是省或国家的两个不同的数据中心,都不一定有足够的保护。 当你意识到自己的电池,然后柴油发电机救了你的屁股时,这种兴奋的感觉很快就被意识到你现在在驾驶你的备用轮胎所引起的恐惧所取代。

但是,我总是运行我们的局域网的内部DNS服务器。 它可以很方便地完全控制你的networking在内部使用的DNS – 如果你的办公室的电源掉电了,你的内部DNS服务器由于在服务器机架上可能是电池或电池和柴油,而你的电脑不会 – 所以你的客户将很久之前离开服务器。

我用一些娱乐来阅读所有这些解决scheme,因为我们通过将我们的主DNS从静态的DSL线路上托pipe,并且让注册服务商(在另一个大陆上)提供了第二DNS服务器,从而意外地适应了所有这些“要求”更严重和可靠的连接。 通过这种方式,我们可以灵活地使用绑定和设置所有logging,同时可以合理地确保次要更新来反映这些变化,并且在井盖着火的情况下可用,引用一次。

这有效地履行:
“你的域名至less有两个权威的DNS服务器;”
“DNS服务器应连接到不同的物理networking和电源;”
“DNS服务器应该在不同的地理区域。”

看看Dyn.com ; 他们有各种DNS相关的服务,如DNS主机,dynamicDNS,MailHop等,我发现他们可靠,并已使用它们大概5年。

这取决于。

自80年代末以来,我为自己的各种作业运行了自己的DNS(BSD 4.3c)。 为了工作,我一直托pipe自己的DNS,但是我一直有多个数据中心位置,或者能够与合作伙伴交换二级DNS。 例如,在我上一份工作中,我们为不同的.EDU(他们在MN,我们在加利福尼亚州)做了二级DNS,他们也为我们做了同样的工作。 地理和networking多样性。

或者,在我目前的工作中,我们有我们自己的东西海岸(美国)数据中心。 通过托pipe我们自己的DNS,我们可以放入任何不常见的DNSlogging(SVR,TXT等),这些logging可能不被某些GUI DNS服务所支持。 而且,我们可以随时改变TTL, 我们拥有相当多的最终的灵活性,而且是以自己做的为代价的。

对于家庭的东西,我已经做到了这一点。 对于某些不常用的域名,或者需要很大的灵活性的域名,我仍然运行我自己的“隐藏”主DNS服务器,并与其他正在进行相同操作的人交换公共DNS服务。 我使用RCS来configurationpipe理的版本控制区域文件,所以我可以看到区域更改的整个历史回到了开始的时间。 对于像一个博客或通用Web服务器(一个Alogging或一个CNAME)的域名这样简单的事情来说,使用域名注册商DNS服务(如果可用)现在更容易,现在担心CM。

这是一个折衷。 最终控制和灵活性的代价是自己处理多样性,运行多个服务器,处理硬件/软件故障等。如果您不需要灵活性或完全控制,那么任何顶级DNS提供商都将解决您的问题,可能在一个较低的总成本。

正如在这个线程中已经提到的那样,DNS有几种特殊情况,最重要的区别是权威和caching名称服务器部署。

  1. 如果您只需要DNS服务器来parsingInternet资源,则一些免费的兑现DNSparsing器是明智的select。 我个人在Linux上使用PowerDNS recursor(pdns-recursor)。

  2. 为了维护你的外部基础设施,比如网站或MX,我不会使用内部NSes(如果我们在这里谈论SOHO的话)。 使用一些好的,可靠的,像DNSmadeasy防弹服务。 我使用他们的业务包,而且很实惠。

我用了Zonedit或者几年。 它便宜(或免费),我已经添加了大量的CNAME,A,MX,TXT,SRV和其他logging。

当我们把所有的服务都带到家里的时候,我们最近把公共的DNS带到了家里。 这使我们能够尽快更新所有内容。 由于地理位置分布的DNS目前不是我们的要求,因为Web服务器都在同一个站点中。

我有两全其美。

我为我的网站托pipe我的公共DNS,而我的MXlogging“在别的地方”。 这是可靠的,它是安全的,它的工作原理,我可以随意修改它。 我为这项服务付钱,我对这个价值感到满意。

但在家里,我运行自己的cachingDNS服务器,而不是依靠我的ISP。 我的ISP有一个丢失DNS的习惯,DNS缓慢,DNS无效,有时候他们想颠覆DNS,以便失败到他们认为我可能感兴趣的地方。我对使用我的ISP的DNS不感兴趣。 所以我有我自己的cachingDNS服务器,并自己做。 开始时(也许是2个小时)build立起来是一点点努力,但是它干净而且我拥有可靠的DNS。 一个月一次,cron作业询问根服务器并刷新提示表。 也许一年一次,我不得不摆弄它,如发送doubleclick.com到127.0.0.1或类似的。 除此之外,它不需要干预,而且效果很好。

如果你决定主办你自己的DNS为上帝的爱每个网站有两个DNS服务器。 一个为您的外部DNS,直接连接到您的防火墙,让世界find你。 还有一个单独的内部networking你的室内DNS。

我还不能评论,但我做的freiheit一样。 我们在我们的DMZ中运行我们的主DNS,而且我们的ISP在全国各地有几个从DNS服务器,在我们对主DNS进行更改后立即进行更新。

它给了两个世界的最好的; 即时控制加冗余。

每种方法都有优点和缺点,但我绝对赞成在内部托pipe您的内部DNS。 如果你在外部托pipe它,你所依赖的基本networking服务列表是令人难以置信的。 首席执行官可能认为通过外部托pipe在DNS服务器上省钱是很明智的,但是如果互联网链接断开,他不能收到他的电子邮件,他会怎么想呢?

从经验来看,如果您想要吸引拒绝服务攻击,则可以托pipe您自己的DNS。 和你自己的网站。

我相信有一些事情你不该做。 DNS托pipe是其中之一。 就像很多人所说的那样,你需要冗余的服务器,连接和物理位置,而且即使是较小的托pipe公司,你也不会去考虑弹性。

托pipe您自己的DNS的最大好处是可以立即进行更改。 需要缩短即将到来的迁移的TTL? 你可以编写一个脚本,在你自己的服务器上执行这个脚本。 对于托pipe的DNS,您可能需要login并手动更改logging,甚至更糟糕的是,请致电提供商,通过3个级别的支持,直到您最终到达某个可以拼写DNS的人,只是让他们告诉您他们将提交2-3天更换。

我在Linux服务器上使用BIND运行自己的DNS。 我目前有四个位于伦敦的英国,迈阿密佛罗里达州,圣何塞和新加坡。 伟大的作品,我完全控制。 数据中心的稳定性非常重要,因此我select了良好的DC来运行服务器(不依赖于ISP或其他“未知”基础设施)。 我可以使用我根据严格标准select的世界级数据中心,在世界的任何地方设置DNS服务器和其他服务。 坚如磐石的DNS对于我运行的电子邮件和networking服务至关重要。

将DNS托pipe视为公共服务的基础。 就我而言,电子邮件对我们的业务至关重要。 如果您在内部托pipe您的DNS,并且您的互联网连接不稳定,则您的DNSlogging可能会失效,从而迫使您的域名不可用。

所以在我的情况下,如果我们的域名找不到MXlogging,邮件将被立即拒绝。

所以,我有我们的DNS托pipe外部。

如果MXlogging可用,但我们的互联网连接断开,则邮件将继续在尝试向我们的域发送电子邮件的服务器上排队。

我们应该主办我们自己的名字服务器?

是的,你也应该使用一个或多个第三方的大型DNS提供商。 由于多种原因,混合解决scheme可能是最安全的长期方法,特别是如果您的业务对您的客户有任何SLA或合同要求。 如果你是b2b,更是如此。

如果您的主DNS服务器(隐藏或公开)是您的真实来源,那么您可以保护自己免受locking供应商特定的function。 一旦开始使用超越基本DNS的漂亮function,您可能会发现切换到另一个提供商或托pipe自己的DNS是有问题的,因为您现在必须复制这些function。 例如,Dyn和UltraDNS提供的站点运行状况检查和DNS故障转移。 这些function很棒,但应该被视为一次性的,而不是一个依赖。 这些function也不能很好地从提供者复制到提供者。

如果您只有第三方供应商,那么您的正常运行时间可能会受到目标DDoS攻击的影响。 如果您只有自己的DNS服务器,那么当您是DDoS攻击的目标时,您的正常运行时间可能会受到影响。

如果您拥有一台或多台DNS提供商和您自己的分布式DNS服务器,这些服务器是您所控制的隐藏的主DNS服务器的奴隶,那么您将确保您没有被locking到特定的供应商,并且始终保持对您的区域的控制,攻击必须取消你的服务器和从属于你的服务器的一个或多个主要的提供者。 任何不足之处都将是服务的退化与临界中断。

拥有自己的主服务器(最好是隐藏的,未发布的)服务器的另一个好处是,您可以构build自己的API并以任何适合您的业务需求的方式更新它们。 使用第三方DNS提供商,您将需要适应他们的API。 每个供应商都有自己的; 或者在某些情况下,只有一个Web UI。

而且,如果你的主人在你的控制之下,并且一个供应商有问题,那么你的任何一台仍然可以到达主人的奴隶服务器都会得到更新。 在您意识到在发生大型DDoS事件时出现第三方作为您的主服务器时出现错误,并且您无法更改未受攻击的提供商的任何服务器之后,您会希望这样做。

从法律angular度来看,防止供应商locking对您的业务也可能非常重要。 例如,Dyn有可能被Oracle购买。 这使得他们处于收集所有Dyn客户的DNS统计数据的独特位置。 这有可能引发法律风险的竞争方面。 也就是说,我不是律师,所以你应该咨询你的法律和公关小组。

如果我们想挖掘杂草,这个话题还有很多其他的方面。

如果这只是一个小的个人/业余爱好域,那么两个不在同一个数据中心的虚拟机,运行一个小型的DNS守护进程已经绰绰有余了。 我为我自己的个人领域做这个。 我不清楚,如果你的域名意味着一个企业或只是为了爱好。 无论最小的虚拟机,你可以得到的是绰绰有余。 我为我的域使用rbldnsd; 在我的logging中使用了非常高的TTL,因为它占用了900 KB的内存,并且可以处理任何被滥用的内容。

这取决于

自从2002年以来,我一直在运行我自己的服务器和pipe理域名。

我经常使用我的提供商的DNS服务器。

我的服务器在我的IP可用的次数,但我的DNS不是,是less数多。

这是我的战争故事:

  • 一个在莫斯科的Yuge提供商(VZ的第一个)是我的VPS在一个便宜的“价值”DC,但他们的DNS是在一个优质的最先进的DC与昂贵的交通,两不同/ 24个子网, 正如当时一些顶级域名所要求的 。 有一次,灾难发生了(可能是2005年的停电? ),他们昂贵的DC也离线了,而我的网站(仍然在莫斯科,但在一个“价值”DC)只能通过IP地址访问。

    有趣的是,即使在发生任何事件之前,我也清楚地记得做traceroute ,并且注意到我的ISP的ns1ns2有相同的DC,要求他们将一个DC移到“我的”DC上,以实现地理冗余。 他们驳斥了地理冗余的想法,因为服务器已经是最高级的可能的DC了。

  • 我有另外一个提供商(ISPsystem系统的第一个),他们在现场有一个ns,另一个在国外。 长话短说,整个设置是可笑的,而“国外”服务器往往不能保持其区域,所以,我的域名有效地有一个额外的失败点,即使我的整个服务器仍然顺利运行,将无法访问。

  • 我有一个注册商,拥有自己的networking。 尽pipe我的异地服务器已经启动,但它每隔一段时间都会下降。 我的DNS被closures了。

  • 最近,我使用了多个大型云提供商作为中学,在那里我自己运行一个隐藏的主人。 这两家供应商至less改变了一次设置; 绝不公布任何公告; 我的一些域名停止parsing。 也发生在我的一个朋友,与同一个提供者。 与第三方服务相比,这种情况通常比人们在公共场合承认的要多得多。

简而言之, http://cr.yp.to/djbdns/third-party.html是绝对正确的话题。

不得不打扰第三方DNS的成本通常是不值得的。

拥有第三方DNS的负面影响往往被不公平地忽视。

我想说,除非你的域名已经使用第三方服务(例如networking,邮件,语音或文本),否则添加第三方DNS几乎总是会适得其反,而且在任何情况下都不是最好的做法。