我有一台闲置的 PC,它有些功能。我想拥有自己的 DNS 服务器,就像 ISP 那样。我该怎么做?我懂 Linux,所以没什么大不了的。我觉得这会很有趣 :D
答案1
这有点令人困惑,因为您描述的设置与主题中提到的设置不同。
第一个本地 DNS 缓存
这很容易实现dnsmasq
要进行设置,请安装dnsmasq
您发行版的软件包。由于基于 Debian 的系统现在很常见,因此我假设使用此发行版。
$ apt-get install dnsmasq
现在编辑/etc/dnsmasq.conf
并将listen-address
指令设置为连接到您的网络的网络接口的 IP 地址。
现在重新启动 dnsmasq 服务
$ /etc/init.d/dnsmasq restart
编辑您的resolv.conf
并输入您的提供商或其他提供商提供的名称服务器:
# Google DNS 1
nameserver 8.8.8.8
# Google DNS 2
nameserver 8.8.4.4
现在您可以将 Linux 机器设置为 LAN 客户端的 DNS 服务器并使用 DNS 缓存。
要测试它是否有效,你可以使用dig
$ dig example.com
你会看到类似
;; Query time: 38 msec
现在再次输入命令,你应该看到类似的内容:
;; Query time: 2 msec
ISP 就像真正的 DNS 服务器
这可以通过使用 bind 等真实名称服务器软件来实现。但如果您对此没有经验,您可能应该先阅读bind9.net因为这个问题太过广泛,难以回答。
答案2
我强烈推荐的缓存递归 DNS 服务器只有两个(适用于 Windows 和 UNIX 版本)
我推荐这两个工具的特别原因是 DNSSEC - 它们都内置了完整的 DNSSEC 验证。使用dnsmasq
或 则无法获得该功能tinydns
。
BIND 通常被认为是这DNS 的参考实现,尽管我要指出,因为它是一个完整的通用 DNS 服务器,所以它具有许多仅递归服务器不需要的旋钮和设置。
Unbound 从一开始就被设计为仅递归。它快速且轻量。
答案3
Bind 是最受欢迎的: http://www.isc.org/software/bind
如果您想要适用于 Windows 的某些东西,Windows Server 已经内置了 DNS 服务器。
不确定你为什么想要本地 DNS 服务器,它不一定能加快 DNS 查找速度。请记住,DNS 服务器在解析 IP 之前必须运行多个查询。在 DSL 甚至电缆上,它们会比具有大管道的数据中心的 DNS 服务器慢……
答案4
TinyDNS/DNScache 很酷而且很快
它的配置和维护非常简单。
但远远不能满足您的需求。
我建议使用 dnsmasq.. 它可以完成您要找的工作..
希望这能有所帮助:D