我已经玩了一周了,有点放弃了。我被分配了一项任务,在系统上配置本地设置的 DNS,并将其重定向到外部 DNS 以解析 google.com 等地址。
因此,为了澄清:
System DNS[127.0.0.1] -x-> Intranet DNS[192.168.1.123] ---> WWW
我可以做 adig @192.168.1.123 google.com
它会返回一个答案。
但执行 adig @127.0.0.1 google.com
返回 0 个答案。
使用 Centos 6.5,并使用 named 和 rpcbind,如何配置系统 DNS 以指向外部 DNS 来查找答案。我应该如何配置/etc/named.conf
/var/named/site1.foo.com.zone
和任何其他文件来进行此重定向?作为主人,作为奴隶,做一个或做另一个有什么好处,我有选择吗?
提到的两个文件都可以在目录中配置/var/named/chroot/...
我更愿意保留系统 DNS,以防某些主机尚未删除到文件中/etc/hosts
。
以下是我的目的 /var/named/chroot/var/named/db.site.foo.com
site1.foo.com IN SOA sm1.site1.foo.com. root.site1.foo.com. (
2010060101 ; Serial YYYYMMDDnn
86400 ; Refresh (1 day)
7200 ; Retry (2 hours)
3600000 ; Expire (5 weeks 6 days 16 hours)
172800 ; Minimum (2 days)
)
NS sm1.site1.foo.com.
NS slavedns.site1.foo.com
A 127.0.0.1
A 192.168.1.123
$ORIGIN site1.foo.com
$TTL 172800 ; 2 days
sm1 A 127.0.0.1
slavedns A 192.168.1.123
被以下区域配置引用/var/named/chroot/etc/named.conf
:
zone "site1.foo.com" {
type master;
file "db.site1.foo.com";
};
我如何完成这一点的扩展以使 127.0.0.1(本地主机)的 DNS 到达 192.168.1.123 以获得外部答案?我尝试了多种方法,现在我确信我只是让自己更加困惑。除了总体基本概念之外,我对 DNS 还很陌生。
答案1
除了options { recursion true; }
MAP 提到的(启用递归所需的)之外,您还可以forwarders
在named.conf
文件中添加可选规则,以告知bind
使用哪个“父”名称服务器来解析它不知道的域名。
例如
forwarders {
x.x.x.x; // your ISP's nameserver ip-address
8.8.8.8; // google's public DNS resolver
};