我已经使用 bind 9 在 Linux Ubuntu 22.04 服务器上设置了自己的 DNS 服务器。但是,我遇到了一个问题。我打算将 DNS 服务器配置为处理所有带有 rizsolution.com 子域的站点。如果请求是针对 rizsolutions.com 的,则应将其转发到 IP 地址 64.31.43.226。对于像 subdomain.rizsolutions.com 这样的子域,服务器应该检查条目,但目前它没有转发请求。我的域与 hoster.pk 相连,其他子域链接到我们自己的服务器。当我向 rizsolution.com 发出请求时,它会显示“无法访问”消息。您能指导我是否可以在转发器中添加其外部 IP 条目吗?我无法使用此 DNS 配置访问我的主站点。
配置文件
named.conf.options 文件
options {
directory "/var/cache/bind";
recursion yes;
max-cache-size 5000000;
listen-on { any; };
allow-query { any; };
allow-query-cache { any; };
allow-recursion { any; };
forwarders {
64.31.43.226; my rizsolutions.com ip bard told me to do this
1.1.1.1;
8.8.8.8;
8.8.4.4;
9.9.9.9;
39.39.39.39;
};
dnssec-validation auto;
};
named.conf.local文件
gpt and bard told me to make these changes, but when I implement them, my domain is working, and the subdomain is not
zone "rizsolutions.com" IN {
type stub;
masters { 64.31.43.226; };
};
zone "rizsolutions.com IN {
type master;
file "/etc/bind/forward.zone";
};
zone "2.50.20.in-addr.arpa" IN {
type master;
file "/etc/bind/reverse.zone";
};
forward.zone 文件
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA dns.rizsolutions.com. root.dns.rizsolutions.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
IN NS dns.rizsolutions.com.
dns IN A 192.168.110.202
dev IN A 192.168.110.206
dc IN A 192.168.110.201
reverse.zone 文件
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA dns.rizsolutions.com. root.dns.rizsolutions.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
IN NS dns.rizsolutions.com.
202 IN PTR dns.rizsolutions.com.
206 IN PTR dev.rizsolutions.com.
201 IN PTR dc.rizsolutions.com.
答案1
如果您的服务器不具备基础域的权威性,则主服务器顶部的存根条目是基础的正确条目。删除此内容:
区域“rizsolutions.com IN {类型主;文件“/etc/bind/forward.zone”;};
然后,您将需要为要解析的每个子域添加区域。例如:
区域“sub1.rizsolutions.com IN {类型主;文件“/var/lib/bind/sub1.rizsolutions.com.zone”;};
此外,如本条目所示,存储区域文件的典型位置是 /var/lib/bind,而不是 etc。etc 是静态配置文件,动态数据文件位于 /var/lib/bind。在数据文件中添加子域的条目。如果这仅是内部的,则无需进行其他更改。如果您希望子域在公共互联网上可解析,则需要从基域 DNS 服务器将每个子域指向您的服务器。
最后,您不需要转发器:64.31.43.226;-转发器用于解析未知域。您希望上游 DNS 服务器作为转发器。在这种情况下,您将基域指向 64.31.43.226,因此转发器不是必需的。