在我的内部网 DNS 服务器上,想要覆盖一些地址。
因此基本上,它应该转发所有解析请求对于区域 mydomain.tld,这些不在“/etc/named/mydoamin.tld”文件中的真实 DNS 服务器...
zone "mydomain.tld" IN {
type master;
file "/etc/named/mydomain.tld";
forwarders { 1.1.1.1; 2.2.2.2; 3.3.3.3; };
forward only;
};
如何才能做到这一点?
澄清:
例如,在文件“/etc/named/mydomain.tld”中,有几条记录:
abc.mydomain.tld. IN A 192.168.1.2
def.mydomain.tld. IN A 192.168.1.3
ghi.mydomain.tld. IN A 192.168.1.4
jkl.mydomain.tld. IN A 192.168.1.5
并且 - 例如 - 这些记录(不在文件“/etc/named/mydomain.tld”中,而是)在官方名称服务器中:
abc.mydomain.tld. IN A 123.123.123.123
www.mydomain.tld. IN A 123.123.123.123
mail.mydomain.tld. IN A 123.123.123.123
因此,当内部网中的客户端询问内部网名称服务器时,名称服务器应首先查看其定义,然后在条目未指定的情况下,询问官方名称服务器。
如果客户端请求 abc.mydomain.tld,则内联网名称服务器应返回 192.168.1.2...
如果客户端请求 www.mydomain.tld,则内联网名称服务器应返回 123.123.123.123...
答案1
您无法执行此操作。每个 DNS 服务器必须包含完全的DNS 区域的副本,或者将整个 DNS 区域转发到其他服务器。您不能将零碎部分放在不同的服务器上(除非您创建子区域并使用 NS 记录进行委托,但我离题了)。
因此,要么使您的互联网和内联网服务器相同,要么将一个服务器转发到另一个,如下所示:
zone "mydomain.tld" IN {
type forward;
forwarders { your-other-server-here; };
};