为无顶级域名的局域网设置 DNS

为无顶级域名的局域网设置 DNS

我正在尝试设置 LAN 的域名服务器。我的路由器有一个来自 ISP 的指定域名 - 类似于 foobar21.verizon.com。

我想为我的本地计算机指定名称,例如 gizmo、gadget、wizbob 等。

在我的 bind(9) 配置文件中,我有来自预制文件的以下注释:

# This is the zone definition. replace example.com with your domain name
zone "local-network" IN {
        type master;
        file "/etc/bind/zones/local-network";
        };

但是,我实际上没有域名!我该如何解决这个问题?

答案1

您可以使用虚构的顶级域名,例如“lan”或“local”

答案2

只要它只用于 LAN 内部查找,您就可以使用任何您想要的顶级域。将区域“nathan”告知您的本地绑定是完全没问题的,该区域将由 gizmo.nathan.、gadget.nathan. 等组成。

答案3

您可以使用不属于您的完全限定域名。但是,如果您要采用这种方式,请确保您选择的 FQDN 不属于第三方,并且永远不会属于第三方。因此,请选择以 .lan 或 .local 结尾的域名,正如 Zaid 建议的那样。

这样做的原因是,如果你的任何一台机器曾经被使用离开您的本地网络(例如,其中一台是笔记本电脑,您将其带到咖啡馆),该机器将尝试在公共互联网上使用您选择的 FQDN 解析网络名称。如果网络上的其他人拥有该域名,那么这些请求最终将到达他们的家门口。

由于 Windows 中 DNS 客户端功能“DNS 委托”,即使远程网络上不存在确切的目标 DNS 名称,请求也会使用基本域名重新发送,例如,如果您尝试解析mypc.域名.com并且失败了,那么机器就会出去并请求域名.com,然后最后com

长话短说,要么购买一个外部认可的域名(很便宜!),要么使用不完全支持但仍然可以接受的 .lan 或 .local 后缀。

答案4

只需去购买一个真正的域名即可。

为本地使用而创建自己的域名可能会引发名称冲突。为了每年 10 美元左右的钱,这确实不值得。

您不必委托它(即发布 NS 记录)以便世界其他地方可以看到它,只需将其保留在内部即可。

相关内容