内部网络使用 bind9 dns;通过子域名访问服务器

内部网络使用 bind9 dns;通过子域名访问服务器

我正在家庭网络下的一个 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 客户端设置中配置搜索域。

相关内容