我在我的家庭networking下的一个Ubuntu(12.10)盒子上使用bind9来设置DNS,因为我的路由器不支持DD-WRT或者它自己的DNS。
我为test.mydomain.net设置了一个“mydomain.net”的区域,并将其指向192.168.1.6(相关机器的静态分配的ip)。
我希望能够通过使用http://test/来访问(通过HTTP /浏览器,主要是)这台机器,而不必键入mydomain.net部分。
我有一切正确configuration,因为我可以成功访问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
要使用短主机名而不是完全限定的域名来引用主机,只需在客户端上configurationparsing器即可search默认域。 在Unix / Linux客户端上,你可以通过放置
search mydomain.net
在/etc/resolv.conf文件中。
请注意, resolv.conf通常由DHCP或您的操作系统的networkingconfiguration( /etc/network/interfaces或NetworkManager)自动pipe理。 如果是这种情况,则对/etc/resolv.conf所做的任何更改都可能会被覆盖。
这实际上是您的DHCP设置的一个问题。
您需要configurationdd-wrt的DHCP服务器以将mydomain.net域推送到客户端。
这样,当你尝试访问http://test/ dns查找客户端所做的是test.mydomain.net 。
如果你有静态IP的客户端,那么你需要在他们的DNS客户端设置中将search域configuration为mydomain.net 。