![为通配符子域名绑定 DNS](https://linux22.com/image/563923/%E4%B8%BA%E9%80%9A%E9%85%8D%E7%AC%A6%E5%AD%90%E5%9F%9F%E5%90%8D%E7%BB%91%E5%AE%9A%20DNS.png)
我在装有 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,至少最初不是。而且你缺少几个“;”。