我正在为我的 LAN 使用 10.0.0.x 方案。我有一台 Raspberry Pi,它托管某些服务,包括 DNS。我遇到了我认为是反向区域的问题。
RPI 位于 10.0.0.21。我的域名是 example.tk。当客户端请求 server.example.tk 时,它会回复 56.234.67.45(已编辑为随机 IP)。此 DNS 服务器还会回答来自 WAN 的 DNS 请求。我希望它回复 10.0.0.21,以便 LAN 上的客户端可以访问某些未转发的服务。我实现此目的的方式是使用反向 DNS,对吗?
我的 BIND9 配置文件:
pi@raspberrypi /etc/bind $ cat named.conf.local
zone "example.tk" {
type master;
file "/etc/bind/zones/db.example.tk";
};
zone "0.0.10.in-addr.arpa" {
type master;
file "/etc/bind/zones/db.10";
allow-update { none; };
};
pi@raspberrypi /etc/bind $ cd zones
pi@raspberrypi /etc/bind/zones $ cat db.example.tk
$TTL 604800
@ IN SOA ns.example.tk. root.localhost. (
6 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.example.tk.
ns IN A 50.161.83.76
server IN A 50.161.83.76
www IN CNAME server
play IN CNAME server
pi@raspberrypi /etc/bind/zones $ cat db.10
$TTL 604800
@ IN SOA ns.example.tk. root.localhost. (
99 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
0.0.10.in-addr.arpa. IN NS ns.example.tk.
21 IN PTR ns.example.tk.
21 IN PTR server.example.tk.
pi@raspberrypi /etc/bind/zones $
问题是,它从不回复 LAN 上客户端的反向 IP。
我究竟做错了什么?
编辑:named-checkzone 没有返回任何错误。
答案1
反向 DNS 用于查找 IP 地址的名称,而不是查找名称的 IP 地址。您需要配置拆分 DNS 以进行正向查找。这可以通过几种方法完成。
- 为 LAN 配置单独的 DNS,并配置您的 DHCP 以在提供名称服务时指定其 IP 地址。
- 使用不同的区域文件为内部和外部网络配置拆分 DNS。内部区域文件将指定私有 (10.0.0.0/8) 地址,而外部区域文件将指定公共 Internet 地址。外部区域不应列出任何私有 Internet 地址。
答案2
在 BIND 中,您想要的东西被称为“视图”。
声明视图和指定哪些客户端与视图匹配的语法可以在管理员参考手册(或 ARM)中找到,该手册随 BIND 源代码一起提供,位于 doc 子目录中(也可以在 BIND 的各个发行版的发行目录中找到)。ISC FTP 站点。
您可能还会发现Zytrax DNS 书(在线且免费)如果您没有 O'Reilly & Associates 出版的(我认为是优质的)DNS 书籍,那么它可以为您提供很有帮助的示例。