为没有顶级域名的局域网设置DNS

我正在尝试build立一个局域网的域名服务器。 我的路由器有一个来自ISP的域名,例如foobar21.verizon.com。

我想分配我的本地计算机的名称,如Gizmo,小工具,wizbob等

在我的bind(9)configuration文件中,我从预制文件中得到了这个注释:

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

但是,我真的没有一个域名! 我如何解决这个问题?

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

只要它只用于在你的局域网内查找,你可以使用任何你想要的顶级域名。 告诉你当地对“nathan”区域的约束是完全正确的,然后由gizmo.nathan。,gadget.nathan。等组成。

您可以使用您不具有的完全合格的域名。 但是,如果您要沿着这条路线走下去,请确保您select的FQDN不是且不可能由第三方拥有。 所以select一个以.lan或.local结尾的内容,就像Zaid所说的那样。

这样做的原因是,如果你的任何一台机器曾经你的本地networking中使用(例如,其中一台机器是一台笔记本电脑,你把它带到一家咖啡馆),那台机器将尝试用你select的FQDN来parsingnetworking名称,在公共互联网上。 如果其他人在networking上拥有这个域名,那么这些请求将会在他们的家门口结束。

由于Windows中的DNS客户端function称为“DNS委托parsing”,即使该远程networking中不存在确切的目标DNS名称,该请求也将被重新发送,只有基本域名,例如,如果尝试并parsingmypc .domainname.com和它失败,机器然后出去,只是请求domainname.com ,那么最后只是com

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

为您的DNS域使用任何随机的东西真的不是一个好主意,只是因为新的顶层始终存在。 也就是说,如果你select一个较长的一个,它会更安全。 分配的名称列表可以在这里find:

http://www.iana.org/domains/root/db/

如果你的域名出现在这个列表中,你必须重做你的DNS设置。 否则,在该域中合法的任何内容都将无法从您的networking访问。

只要去买一个真正的域名。

为本地使用而build立自己的域引入了名称冲突的机会。 为了每年10块钱左右,这真的不值得。

你不必委托它(即发布NSlogging),以便它可以在世界其他地方看到,只要保持它的内部。

你可能会发现dnsmasq是一个非常方便的工具。 它的死容易设置,并可以做你的局域网DHCP / DNS。 它非常适合小型networking,特别是如果你想避免绑定configuration的头痛。