前言
在配置DNS主從伺服器同步的時候,bind服務預設是允許任何人進行同步的,但是這樣容易造成安全隐患。bind服務支援通過限制IP和key認證兩種方式來對同步進行限制。
常見參數解析
- allow-query { any; }; #允許所有使用者使用dns解析
- forwarders { 172.25.254.250; }; #如果在本地高速緩存dns中找不到解析則通路172.25.254.250進行解析(轉發的意思)
- allow-query-cache { any;} ;#允許使用者查詢伺服器緩存。如果沒有配置,則繼承allow-recursion設定,若allow-recursion也沒配置,則繼承allow-query設定,若allow-query也沒設定,則使用預設值default(localnets; localhost;)。
- allow-transfer { 192.168.8.100; }; ##設定哪台主機允許和本地伺服器進行域傳輸
- also-notify:主動通知從域名伺服器進行更新,不需要在等規定的時間後才通知從域名伺服器進行更新
- allow-recursion 設定哪台主機可以進行遞歸查詢。如果沒有設定,預設是允許所有主機進行遞歸查詢
IP限制
在options 裡加入這個
allow-query { localhost; 127.0.0.1; 10.0.0.0/8; 100.0.0.0/8; 172.0.0.0/8; 192.0.0.0/8; };
key認證
擷取key的方法:
dnssec-keygen -a hmac-md5 -n HOST -b 512 dns
- 在zone檔案裡定義key
key tengfeikey { //編輯key
algorithm hmac-md5; //指定key的算法
secret "fsApVPn3QtzSYVCiRxjA5eK/0MgG9LLZPQ8nAVa2COEfkcAeu1U3Nz8YWZikM+bmkcrxsB09bFhe8UNp4smvAw=="; //key的密文串
};
- 調用方法:
zone "tengfei.com" IN {
type master; //主伺服器
file "tengfei.com.zone"; //域資料庫檔案
allow-transfer { key tengfeikey;};
};