首先訂出 DNS 服務的對象, 由於 primary or secondary server 要提供 domain 的資訊
供外界查詢, 以下這個設定是必要的
allow-query { any; };
當 DNS server 收到非自有 domain 查詢時, 例如 client 查詢 www.google.com, 依據
設定會有兩種處理方式
1. recursion yes
server 會先問 root server, 找到 TLD .com, 在找到 google.com 的 dns server 後,
問出 www.google.com 的資料, 回覆 client 後放一份在 cache 供後續查詢, 如果這種
查詢服務沒有設定服務對象, 就是所謂的 open resolver, 會消耗網路頻寬等資源, 甚至
成為 DNS Amplification Attacks 的工具, 限制服務對象設定如下
acl mynet { 192.168.1.0/24; };
options {
allow-recursion { mynet; };
};
2. recursion no
server 回覆一個查詢點, 由 client 作業系統從這個點往下查, 直到取得答案
server cache 的資料可以加速查詢及節省頻寬, 但是如果對外開放不設限, 仍然可能被誤
用, 可以用以下設定限制
allow-query-cache { mynet; };