运行自己的 DNS 服务器用于学习目的

运行自己的 DNS 服务器用于学习目的

我想在笔记本电脑上运行自己的 DNS 服务器,用于学习目的。我最近使用了 Google Public DNS,并且很喜欢它。我想为我的网页浏览构建一些类似且小巧的东西。

我隐约梦想的是使用自己的 DNS 服务器作为主 DNS 服务器,使用 Google 公共 DNS 作为辅助 DNS 服务器。我想通过编辑配置文件逐步构建自己的 DNS 服务器(如果可以自动化就太好了,但我没有线索)。

有时这听起来像是一个愚蠢的想法,但我很乐意为我想添加到 DNS 服务器的每个站点编辑配置文件。欢迎任何指示/建议。

答案1

有两个被称为“DNS服务器”的东西,您应该在脑海中将它们区分开来:

  1. 有 DNS服务器对于提供以下服务的域(或“区域”)整个互联网包含该域中的名称信息(不包括任何子域,这就是它被称为“区域”的原因)。

  2. DNS解析器,这就是 OpenDNS 和新启动的 Google“DNS 服务器”。这是“解析”任何和所有域名转换为 IP 地址,为你。这通常由您的 ISP 提供给您,并通过 DHCP 自动与您的 IP 地址一起提供。

现在,两个都大多数 DNS 服务器软件(包括 BIND)都可以完成这些事情,但您需要分别思考这些概念。

如果 BIND 用作 DNS解析器,则需要recursion yes;设置“ ”。否则,受到推崇的,但并不严格必要的让它转变离开

答案2

无论如何,您都有自己的 DNS 服务器 - 您的 DNS 客户端充当缓存服务器,而您的 HOSTS 文件充当名称服务器...

无论如何,如果您运行的是 Mac 或 Linux - 那么请下载并安装绑定- 玩玩它。您可以更改配置,下载源代码并根据自己的喜好进行修改。

如果你运行的是 Windows,那么简单 DNS Plus可能对你有用。

答案3

互联网上有很多关于如何在缓存模式下设置绑定的文章,基本上很简单,因为它默认就是这样做的:

http://www.langfeldt.net/DNS-HOWTO/BIND-8/DNS-HOWTO-3.html

如果您设置了 bind 并将其指向某些转发器,它将默认缓存请求。要测试其工作情况,请两次挖掘相同的地址(您最近尚未访问过的地址),第一个请求将显示标志“aa”(权威答案)。第二个请求不会显示,表明它来自缓存。上面的文章对此进行了更详细的说明。

请注意,如果您运行的是 Linux,安装和运行“nscd”守护程序也会获得同样的好处。大多数现代操作系统都会默认为您安装此守护程序或一些等效的缓存守护程序。

设置 DNS 区域并不太难,您应该开始手动编辑文件。除非您经常编辑文件,否则完全没有必要进行自动化。

答案4

我运行的是 Linux,并且已经安装了 BIND。有什么方法可以自动更新 DNS 服务器吗?

  1. 在浏览器中输入 google.com
  2. 我的 DNS 服务器没有 google.com
  3. 它转到辅助 DNS 服务器(Google 公共 DNS 服务器)
  4. 解析 google.com
  5. 使用 google.com 详细信息自动更新我的 DNS 服务器。

这样,我的 DNS 服务器就会填充我第一次访问的所有站点...第二次解析速度会更快,因为它已经被缓存了。

它就像自动离线 DNS 缓存。

相关内容