为通配符子域名绑定 DNS

为通配符子域名绑定 DNS

我在装有 Apache 的 Windows 7 VM 上。我尝试设置绑定 DNS,将子域路由到与主域相同的位置。主域正确路由到 hosts 文件中指定的 172.16.5.1。但子域仍路由到 127.0.0.1

我没有向 httpd.conf 添加任何内容,因为我*认为我不需要。这是我的绑定文件。您知道哪里可能出错了吗?我也不确定区域文件中的“hostmaster”应该改成什么(如果有的话)。

/etc/named 文件:

options {
    directory "c:\named\zones";
    allow-transfer { none; };
    recursion no;
};


zone "." IN {
    type master;
    file "db.eg.com.txt";
};

#allow-transfer { none; };

# Use with the following in named.conf, adjusting the allow list as needed:
key "rndc-key" {
    algorithm hmac-md5;
    secret "Rha8Z8AKxOeg+asqZQ==";
};

controls {
    inet 127.0.0.1 port 953
        allow { 127.0.0.1; } keys { "rndc-key"; };
};

zone/db.eg.com.txt 文件:

$TTL 6h
@   IN SOA  eg.com. hostmaster.eg.com. (
            2011100911
            10800
            3600
            604800
            86400 )

@       NS  eg.com.
*   IN A    172.16.5.1

答案1

一个完整的工作通配符区域(来自我的 DNS)可能看起来像

$TTL    86400

@       IN      SOA     ns400.domain.it. ns-admin.domain.it. (
                        2020051801      ; Serial
                        10800   ; Refresh
                        3600    ; Retry
                        604800  ; Expire
                        10800 ) ; Minimum

                                      IN NS   ns400.domain.it.
                                      IN NS   ns401.domain.it.
                                      IN NS   ns402.domain.it.
*.domain.it.                          IN A    10.0.0.1
domain.it.                            IN A    10.0.0.1
ns400.domain.it                       IN A    10.0.0.2
ns401.domain.it                       IN A    10.0.0.3
ns402.domain.it                       IN A    10.0.0.4
$ORIGIN @

它可能不是最好用和最建议的解决方案,但它确实能完成工作:-) 但是,您通常需要 2 个域服务器,如果是仅限 LAN,则可以将其减少到 1 个。

答案2

您需要指定一个 NS。然后它应该可以工作。我指的是 NS 的 A 记录。没关系,我只是读了你写的内容,你不能成为你自己的 ns,至少最初不是。而且你缺少几个“;”。

http://pastebin.com/JtFEBRUr

相关内容