我正在设置绑定服务器,并从曾经负责 DNS 服务器的 Windows Server 2003 迁移区域文件。
(我正在Bind 9.9.5
运行Ubuntu 14.04 LTS
)
在 Windows Server 上,可以使用区域文件中的 NS 记录作为能够传输区域的允许 IP。
在 Bind 中也可以这样做吗?或者只能在配置文件中用 来定义允许的地址吗allow-transfer { 1.2.3.4; };
?
在区域文件中,名称服务器定义如下:
;
; Zone NS records
;
@ NS ns1.example.org.
ns1.example.org. A 1.2.3.3
@ NS ns2.example.org.
ns2.example.org. A 5.6.7.8
答案1
不,BIND 中没有选项可以自动使用NS
与区域名称关联的地址allow-transfer
。
这allow-transfer
选项记录如下:
允许转移
指定哪些主机被允许接收来自服务器的区域传输。也可以在 zone 语句中指定 allow-transfer,在这种情况下,它将覆盖 options allow-transfer 语句。如果未指定,则默认允许传输到所有主机。
语法很简单:
[ allow-transfer { address_match_list }; ]
一个address_match_list
元素允许基于单个 IP 地址、IP 前缀(前缀/长度表示法)进行匹配,ACL或者TSIG 密钥。
address_match_list
根据您的情况(一方面,ACL 可以在很多地方引用),定义 ACL(本质上是命名的)可能是更好的选择。
在可行的情况下,TSIG 通常是访问控制的更好选择,而不是仅仅允许基于客户端 IP 地址的访问。
答案2
NS 记录的通知只是指向其他服务器/客户端,让哪些服务器处理特定区域的请求。
您不能指定允许传输,默认是允许传输到所有主机。这是不安全的,并且会导致服务器负载过大。
换句话说,NS 记录只是关于信息的。
允许传输选项指定权限。