我正在家庭网络下的一个 Ubuntu(12.10)盒子上使用 bind9 设置 DNS,因为我的路由器不支持 DD-WRT 或其自己的 DNS。
我为“mydomain.net”设置了一个区域,并为 test.mydomain.net 设置了一条 A 记录,并将其指向 192.168.1.6(相关机器的静态分配的 IP)。
我希望能够仅通过使用来访问(主要通过 HTTP/浏览器)这台机器http://test/
,而不必输入 mydomain.net 部分。
我已正确配置其他所有内容,因为我可以成功访问test.mydomain.net
并获取正确的 Apache 响应,但我找不到任何允许我访问的特定设置http://test/
。
这是我的 named.conf.local 文件
zone "mydomain.net" {
type master;
file "/etc/bind/db.mydomain.net";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192";
};
和我的 db.mydomain.net 区域文件
; BIND data file for local
;
$TTL 604800
@ IN SOA mydomain.net. tomprogramming.gmail.com. (
2013052603 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
IN A 192.168.1.6
;
@ IN NS ns.mydomain.net.
@ IN A 192.168.1.6
@ IN AAAA ::1
ns IN A 192.168.1.6
test IN A 192.168.1.6
答案1
要使用短主机名而不是完全限定域名来引用主机,只需在客户端上配置解析器以搜索默认域即可。在 Unix/Linux 客户端上,您可以通过输入
search mydomain.net
在您的/etc/resolv.conf
文件中。
请注意,resolv.conf
通常由 DHCP 或操作系统的网络配置(/etc/network/interfaces
或 NetworkManager)自动管理。如果是这种情况,您对 所做的任何更改/etc/resolv.conf
都可能会被覆盖。
答案2
这实际上是您的 DHCP 设置存在问题。
您需要配置 dd-wrt 的 DHCP 服务器以将mydomain.net
域推送到客户端。
这样,当您尝试访问http://test/
客户端所进行的 DNS 查找时test.mydomain.net
。
如果您的客户端具有静态 IP,则需要mydomain.net
在其 DNS 客户端设置中配置搜索域。