在本地为家庭网络运行 DNS

Roy*_*ico 131 dns home-networking

我有一个刚刚变大的小型家庭网络(新室友,我现有的室友有一台笔记本电脑(在她的电脑上),我的朋友带着笔记本电脑过来,等等)。

我想运行一个本地 DNS 服务器来查找我的本地网络内容 ( fileserver.local, windowsTV.local, machineA.local, machineB.local, appletv.local)。我曾经有一条带有静态 IP 的业务线,并在内部运行 bind/named。但是,现在我有一个普通帐户。

我的 ISP 的 DNS 服务器在不断变化(无论出于何种原因,我的 ISP 不喜欢长时间保持相同的 IP 范围)。我需要我的本地 DNS 自动更新以将我的 ISP 的 DNS 用于外部流量,但能够维护一个内部 DNS 服务器(更新主机文件对于每台新机器都是一个麻烦,除了用 win7 重建现有机器或 Ubuntu 9.04)。

此外,我的 ISP 的 DNS 服务器经常崩溃或变得无响应。是否有任何可靠的开放式 DNS 服务器(我不想每天都重新配置)可以用作我的主要服务器,然后如果这些服务器失败,那么使用我的 ISP 吗?

更新:也在寻找能够使用 dhcp 连接的每个工作站,但不是获取 ISP DNS 服务器,而是获取我的内部服务器....

Law*_*ceC 109

基本上,您需要运行自己的 DHCP 和 DNS 服务器。如果您有一个提供私有 IP 地址的典型路由器,那么您已经在运行您自己的 DHCP 服务器。

显然,您的 DHCP 服务器必须配置为将您的路由器 IP 作为网关地址,并将您的 DNS 服务器 IP 作为 DNS 服务器地址。

您的 DNS 服务器必须配置为在本地解析非官方顶级域,例如.local,然后将任何其他请求转发到另一个 DNS。在 BIND 中,您需要向forwarders { }您的 `/etc/bind/named.conf.options'添加一个部分,其中包含您想用来解析非本地地址的公共 DNS 服务器。正如其他评论所建议的那样,如果您不想转发到 ISP 的 DNS 服务器,您可以使用 OpenDNS、Google 的公共 DNS 服务器或 4.2.2.1/4.2.2.2(我忘记了是谁做的)。

如果您正在运行自己的 DNS 服务器,则需要一个始终打开的框,因为您家庭网络上的所有 DNS 查询都将通过它。此框需要您的家庭子网上的固定 IP。确保它不会被 DHCP 推倒,并且盒子本身不应该通过 DHCP 获得 IP。例如,如果您的 DHCP 配置为分发从 192.168.1.1 到 192.168.1.100 的地址,则为您的 DNS 服务器提供 IP 192.168.1.101。在家用路由器的通常情况下,您只需要简单地告诉路由器 DNS 服务器是 192.168.1.101 并重新启动。

如果您可以在宽带路由器上运行本地 DNS,那很好,但是 DNS 服务器可能会受益于用于缓存查询的大量 RAM,具体取决于您使用的 DNS 软件。在我的网络上,我只使用直接BIND。听起来你可能对此有一些经验,对我来说它很管用。

  • 4.2.2.1/4.2.2.2/4.2.2.3 来自第 3 层。 (4认同)
  • 成功!这种方法是合理的。在可寻址范围之外设置固定 IP/避免 DNS 框的 DHCP 尤其重要。谢谢! (3认同)

Ben*_*der 19

如果您希望内部虚假域工作,则不能使用除您自己的 DNS 服务器之外的任何 DNS 服务器配置您的工作站。一旦您设置了 BIND,它就可以自行工作,您根本不需要您的 ISP 或任何其他非权威 DNS 服务器。

  • 然而,如果可能的话,一个好的网民会转发到他们 ISP 的 DNS 缓存。根 DNS 服务器上的负载是可怕的。尤其是对于像这样的小型站点,因为如果每个家庭都决定直接进行,它就不会扩展。(如果您担心 ISP 篡改,请使用 DNSSEC)。 (11认同)
  • 为什么您应该转发到您的 ISP DNS 服务器有一个不同的原因……对他们来说,您看起来就像一个普通的客户端。如果你不这样做,他们看到你有一个系统向全世界发送 DNS 查询,他们会假设你正在运行一个 DNS 服务器,并且可能只是在你面前抛出一个防火墙规则并给你灌水。您将很难弄清楚是什么坏了,并且可能会浪费数小时试图弄清楚是否/何时发生。 (8认同)
  • @sourcejedi,您误解了缓存 DNS 服务器的实际作用..它当然不会影响根服务器,它可能每周只会打扰他们一次。 (3认同)

hyp*_*lug 14

是否有任何可靠的开放式 DNS 服务器

你说的是:OpenDNS

208.67.222.222
208.67.220.220

  • 谷歌在 8.8.8.8 和 8.8.4.4 的公共 DNS 服务器也很不错。 (12认同)
  • 请注意 OpenDNS 名称服务器是骗子:它们重写 DNS 响应,将您定向到广告服务或审查某些目的地。 (5认同)
  • 我还会查看 http://www.aboutdebian.com/dns.htm 以获得有关设置自己的 dns 服务器的不同方法的良好概述。 (3认同)
  • 请注意,OpenDNS 现在是思科,思科与 NSA 有着密切的联系 https://www.cisco.com/c/en/us/about/corporate-strategy-office/acquisitions/opendns.html (2认同)

Jou*_*eek 6

Unbound非常简单,支持绑定样式的配置文件并且相当可靠。如果服务器将是一个独立的“网关”类型的盒子,并且您想要一些额外的细节,您可能还想看看名为 untangle 的防火墙/网关发行版。


Jes*_*per 6

如果您运行的是 Windows - 您应该查看Simple DNS Plus - 它是一个完整的 DNS 服务器,还带有 DHCP 服务器插件 - 并且具有易于使用的 GUI。

【注:产品由本文作者开发】

  • 只是提到这不是一个免费的解决方案。提供 14 天试用和教育许可。否则你会在 70 美元 > 300 美元之间拉面团 (3认同)