bind配置文件語法

acl:定義IP地址表的名字,用於訪問控制等

語法:
acl acl-name {     address_match_list;
}

controls:宣告一個用於rndc工具控制通道

語法:
controls {
   [ inet ( ip_addr | * ) [ port ip_port ] allow {  address_match_list  }
                keys { key_list }; ]
   [ inet ...; ]
   [ unix path perm number owner number group number keys { key_list }; ]
   [ unix ...; ]
};

include:包含一個文件

語法:
include filename;

key:定義key信息用於驗證和TSIG驗證

語法:
key key_id {
    algorithm string;
    secret string;
};

logging:定義bing服務的日誌, channel -> categroy.

語法:
logging {
   [ channel channel_name {
     ( file path name
         [ versions ( number | unlimited ) ]
         [ size size spec ]
       | syslog syslog_facility
       | stderr
       | null );
     [ severity (critical | error | warning | notice |
                 info | debug [ level ] | dynamic ); ]
     [ print-category yes or no; ]
     [ print-severity yes or no; ]
     [ print-time yes or no; ]
   }; ]
   [ category category_name {
     channel_name ; [ channel_name ; ... ]
   }; ]
   ...
};

category 參數:     default: 默認分類,沒有分類的日誌都使用這個分類的配置.     general: 沒有分類的日誌都記錄在此分類中.     database: 服務器內部使用存儲zone和緩存數據.     security: 允許/拒絕的請求.     config: 配置文件分析和處理.     resolver: DNS解析,被dns緩存服務器進行遞歸查詢.     xfer-in: 接收區域傳輸.     xfer-out: 發送區域傳輸.     notify: NOTIFY協議.     client: 客戶端請求進程.     unmatched: 未匹配的查詢?     network: 網絡操作.     update: 動態更新.     update-security: 允許/拒絕更新請求.     queries: 客戶端隊列日誌.     dispatch: 數據包傳送日誌.     dnssec: DNSSEC和TSIG協議處理.     lame-servers: 遠端的配置錯誤的服務器發送的請求.     delegation-only: NXDOMAIN的結果將被強制定義到delegation-only區域

lwres:定義named爲一個輕量級的解析進程

語法:
lwres {
    [ listen-on { ip_addr [port ip_port] ; [ ip_addr [port ip_port] ; ... ] }; ]
    [ view view_name; ]
    [ search { domain_name ; [ domain_name ; ... ] }; ]
    [ ndots number; ]
};

masters:定義主域服務器列表

語法:
masters name [port ip_port] { ( masters_list | ip_addr [port ip_port] [key key] ) ; [...] };

options:設定全局配置選項和默認值

語法:
options {
    [ version version_string; ]
    [ hostname hostname_string; ]
    [ server-id server_id_string; ]
    [ directory path_name; ]
    [ key-directory path_name; ]
    [ named-xfer path_name; ]
    [ tkey-domain domainname; ]
    [ tkey-dhkey key_name key_tag; ]
    [ cache-file path_name; ]
    [ dump-file path_name; ]
    [ memstatistics-file path_name; ]
    [ pid-file path_name; ]
    [ statistics-file path_name; ]
    [ zone-statistics yes_or_no; ]
    [ auth-nxdomain yes_or_no; ]
    [ deallocate-on-exit yes_or_no; ]
    [ dialup dialup_option; ]
    [ fake-iquery yes_or_no; ]
    [ fetch-glue yes_or_no; ]
    [ flush-zones-on-shutdown yes_or_no; ]
    [ has-old-clients yes_or_no; ]
    [ host-statistics yes_or_no; ]
    [ host-statistics-max number; ]
    [ minimal-responses yes_or_no; ]
    [ multiple-cnames yes_or_no; ]
    [ notify yes_or_no | explicit | master-only; ]
    [ recursion yes_or_no; ]
    [ rfc2308-type1 yes_or_no; ]
    [ use-id-pool yes_or_no; ]
    [ maintain-ixfr-base yes_or_no; ]
    [ dnssec-enable yes_or_no; ]
    [ dnssec-validation yes_or_no; ]
    [ dnssec-lookaside domain trust-anchor domain; ]
    [ dnssec-must-be-secure domain yes_or_no; ]
    [ dnssec-accept-expired yes_or_no; ]
    [ forward ( only | first ); ]
    [ forwarders { [ ip_addr [port ip_port] ; ... ] }; ]
    [ dual-stack-servers [port ip_port] {
        ( domain_name [port ip_port] |
          ip_addr [port ip_port] ) ;
        ... }; ]
    [ check-names ( master | slave | response )
        ( warn | fail | ignore ); ]
    [ check-mx ( warn | fail | ignore ); ]
    [ check-wildcard yes_or_no; ]
    [ check-integrity yes_or_no; ]
    [ check-mx-cname ( warn | fail | ignore ); ]
    [ check-srv-cname ( warn | fail | ignore ); ]
    [ check-sibling yes_or_no; ]
    [ allow-notify { address_match_list }; ]
    [ allow-query { address_match_list }; ]
    [ allow-query-cache { address_match_list }; ]
    [ allow-transfer { address_match_list }; ]
    [ allow-recursion { address_match_list }; ]
    [ allow-update { address_match_list }; ]
    [ allow-update-forwarding { address_match_list }; ]
    [ update-check-ksk yes_or_no; ]
    [ allow-v6-synthesis { address_match_list }; ]
    [ blackhole { address_match_list }; ]
    [ avoid-v4-udp-ports { port_list }; ]
    [ avoid-v6-udp-ports { port_list }; ]
    [ listen-on [ port ip_port ] { address_match_list }; ]
    [ listen-on-v6 [ port ip_port ] { address_match_list }; ]
    [ query-source ( ( ip4_addr | * )
        [ port ( ip_port | * ) ] |
        [ address ( ip4_addr | * ) ]
        [ port ( ip_port | * ) ] ) ; ]
    [ query-source-v6 ( ( ip6_addr | * )
        [ port ( ip_port | * ) ] |
        [ address ( ip6_addr | * ) ]
        [ port ( ip_port | * ) ] ) ; ]
    [ max-transfer-time-in number; ]
    [ max-transfer-time-out number; ]
    [ max-transfer-idle-in number; ]
    [ max-transfer-idle-out number; ]
    [ tcp-clients number; ]
    [ recursive-clients number; ]
    [ serial-query-rate number; ]
    [ serial-queries number; ]
    [ tcp-listen-queue number; ]
    [ transfer-format ( one-answer | many-answers ); ]
    [ transfers-in  number; ]
    [ transfers-out number; ]
    [ transfers-per-ns number; ]
    [ transfer-source (ip4_addr | *) [port ip_port] ; ]
    [ transfer-source-v6 (ip6_addr | *) [port ip_port] ; ]
    [ alt-transfer-source (ip4_addr | *) [port ip_port] ; ]
    [ alt-transfer-source-v6 (ip6_addr | *) [port ip_port] ; ]
    [ use-alt-transfer-source yes_or_no; ]
    [ notify-source (ip4_addr | *) [port ip_port] ; ]
    [ notify-source-v6 (ip6_addr | *) [port ip_port] ; ]
    [ also-notify { ip_addr [port ip_port] ; [ ip_addr [port ip_port] ; ... ] }; ]
    [ max-ixfr-log-size number; ]
    [ max-journal-size size_spec; ]
    [ coresize size_spec ; ]
    [ datasize size_spec ; ]
    [ files size_spec ; ]
    [ stacksize size_spec ; ]
    [ cleaning-interval number; ]
    [ heartbeat-interval number; ]
    [ interface-interval number; ]
    [ statistics-interval number; ]
    [ topology { address_match_list }];
    [ sortlist { address_match_list }];
    [ rrset-order { order_spec ; [ order_spec ; ... ] ] };
    [ lame-ttl number; ]
    [ max-ncache-ttl number; ]
    [ max-cache-ttl number; ]
    [ sig-validity-interval number ; ]
    [ min-roots number; ]
    [ use-ixfr yes_or_no ; ]
    [ provide-ixfr yes_or_no; ]
    [ request-ixfr yes_or_no; ]
    [ treat-cr-as-space yes_or_no ; ]
    [ min-refresh-time number ; ]
    [ max-refresh-time number ; ]
    [ min-retry-time number ; ]
    [ max-retry-time number ; ]
    [ port ip_port; ]
    [ additional-from-auth yes_or_no ; ]
    [ additional-from-cache yes_or_no ; ]
    [ random-device path_name ; ]
    [ max-cache-size size_spec ; ]
    [ match-mapped-addresses yes_or_no; ]
    [ preferred-glue ( A | AAAA | NONE ); ]
    [ edns-udp-size number; ]
    [ max-udp-size number; ]
    [ root-delegation-only [ exclude { namelist } ] ; ]
    [ querylog yes_or_no ; ]
    [ disable-algorithms domain { algorithm; [ algorithm; ] }; ]
    [ acache-enable yes_or_no ; ]
    [ acache-cleaning-interval number; ]
    [ max-acache-size size_spec ; ]
    [ clients-per-query number ; ]
    [ max-clients-per-query number ; ]
    [ masterfile-format (text|raw) ; ]
    [ empty-server name ; ]
    [ empty-contact name ; ]
    [ empty-zones-enable yes_or_no ; ]
    [ disable-empty-zone zone_name ; ]
    [ zero-no-soa-ttl yes_or_no ; ]
    [ zero-no-soa-ttl-cache yes_or_no ; ]
};

參數(Options):
directory: 服務器的工作目錄.
key-directory: 保存密鑰的目錄.
named-xfer: 已經廢棄,bind 8中定義named-xfer命令的路徑.
tkey-domain: ...
tkey-dhkey: dhkey用於服務器生成dh模式的客戶端共享的tkey,服務器必須加載公鑰和私鑰從工作目錄的文件中.
cache-file: 僅爲測試,沒用.
dump-file: 當執行rndc dumpdb時服務器dump文件的路徑.
memstatistics-file: 默認爲named.memestats,當退出的服務的時候將服務器的統計信息寫到文件中.
pid-file: 服務器記錄進程ID的文件路徑.
statictics-file: 執行rndc stats將服務器的統計信息寫入文件,默認爲named.stats
port: 服務器用於DNS協議的UDP/TCP端口號,默認爲53.
random-device: entropy(平均信息量?)主要用於DNSSEC操作,像tkey傳輸,簽署域的動態更新,默認爲/dev/random,這個選項主要用於當服務器啓動的時候初始化配置,reload將忽略這個選項.
preferred-glue: 優先膠? 優先相應的type list
root-delegation-only: 在根區域打開delegation-only的強制解析,並對exclude列表中的根域排除強制解析.
disable-algorithms: 對域禁用特定的DNSSEC算法,可以用多個,
dnssec-lookaside: 當設置dnssec-lookaside,它爲驗證器提供另外一個能在網絡區域的頂層驗證DNSKEY的方法.
dnssec-must-be-secure: 指定驗證等級,如果選yes,named只接收安全的迴應,如果選no,一般的dnssec驗證將允許接收不安全的迴應.

Boolean 參數:
auth-nxdomain: 如果選yes,AA字節一直設置爲NXDOMAIN的回覆,即使服務器不是真正可信賴的.默認爲no,這是個從bind8後的改變,如果使用老的DNS軟件,需要設置爲yes.
deallocate-on-exit: 用於bind8在退出的時候進行內存泄露檢測,bind9忽略此項,始終做檢查.
dialup: 默認爲no,是通過撥號網絡的方式進行域傳輸,通常在每個heartbeat-interval執行,通常會抑制一些網絡維護流量,一般的notify設置不受影響.


dialup mode
normal refresh
heart-beat refresh
heart-beat notify


no (default)
yes
no
no


yes
no
yes
yes


notify
yes
no
yes


refresh
no
yes
no


passive
no
no
no


notify-passive
no
no
yes fake-iquery: BIND8中模仿已經淘汰的IQUERY查詢,BIND9中從不進行IQUERY模擬. fetch-glue: 選項已經廢棄. flush-zone-on-shutdown: 當服務收到退出的信號,清除或者不清除未進行的域的寫操作.默認爲no has-old-client: 這個選項在BIND8中執行有錯誤,BIND9忽略. host-statistics: BIND8中保持name服務器相互作用的信息,BIND9無用. maintain-ixfr-base: 已經廢棄. minimal-responses: 如果啓用,產生響應的服務器只增加記錄到權限和附加數據片中.此項能改善服務器性能. multiple-cname: 這個選項在BIND8中允許域名有多個違反標準的CNAME記錄,從BIND9.2開始嚴格執行CNAME規則在主域文件和動態更新中. notify: 默認爲yes,當服務器的一個域授權發生改變,將發送DNS NOTIFY信息給域NS記錄的服務器列表,和一些列在also-notify選項中的服務器.如果選master-only,信息只發給主域,如果是explicit,通知只發給also-notify的列表,no不發通知. recuision: 如果爲yes,一個DNS的遞歸查詢請求,服務器將必須做所有的嘗試去應答查詢,如果關閉遞歸併且服務器不知道答案,它將回復一個參考應答.默認爲yes. rfc2308-type1: BIND9已經不支持. use-id-pool: 已經廢棄. zone-statistics: 如果爲yes,服務器將收集所有區域的統計數據,除非從域的配置中關閉.)這些信息將進入rndc stats,會被dump到statistics-file. use-ixfr: 已經廢棄. provide-ixfr: 用於主域服務器,設置爲yes將進行增量傳輸,no將不進行增量傳輸,全局默認爲yes. request-ixfr: 用於從域服務器,設置爲yes將向主域服務器發送增量傳輸的請求,no將不進行增量傳輸,全局默認爲yes, treat-cs-as-space: 用於BIND8使服務器對待/r字符像對待空格或者tab,使DOS,NT下的區域文件容易加載到UNIX系統中.BIND9忽略此項. additional-from-auth,additional-from-cache: 這個選項控制權威服務器回答查詢的時候的附加數據,或者當跟隨CNAME和DNAME鏈. match-mapped-address: ipv4映射到ipv6的地址 ixfr-from-differences: 當啓用,主服務器加載一個新版本的區域或者從服務器接收到一個新版本的使用非增量傳輸,將進行比較新的版本和先前的版本,兩個版本不同的部分記錄到區域的日誌,改變的將傳送給從服務器作爲域的增量傳輸. multi-master: 通常被用於一個區域有多個地址不同的主服務器,如果啓用,將不記錄主服務器序號小於當前序號的服務.默認爲no. dnssec-enable: 是否支持DNSSEC開關,默認爲yes dnssec-validation: 是否進行DNSSEC確認開關,默認爲no dnssec-accept-expired: 接受驗證DNSSEC簽名過期的信號,默認爲no querylog: 確定querylog在服務啓動時候啓動,如果querylog沒有指定,將使用日誌分類中的queries定義的參數. check-names: 用於約束主區域文件中的字符集和從網絡收到的DNS應答. check-mx: 檢測MX記錄指向的IP地址,默認爲warn,其他的參數爲,fail和ignore. check-wildcard: 默認yes,檢測如果爲非域末端的通配符則發警告. check-integrity: 檢測主區域的完整性.默認爲yes,這個檢測MX和SRV記錄指向的地址是否存在. check-mx-cname: 如果設置check-integrity,那麼fail,warn,ignore MX記錄指向CNAME的檢測,默認爲warn. check-srv-cname: 如果設置check-integrity,那麼fail,warn,ignore SRV記錄指向CNAME的檢測,默認爲warn. check-sibling: 當執行完完整性檢測,進行 兄弟? 膠? 檢測,默認爲yes zero-no-soa-ttl: 當返回拒絕響應的SOA查詢,在授權節中設置SOA記錄的TTL值爲0,默認爲yes. zero-no-soa-ttl-cache: 緩存一個拒絕響應的SOA記錄的TTL設置爲0,默認爲no update-check-ksk: 默認yes.當刷新RRSIGs跟隨一個UPDATE請求到一個安全的區域,檢測DNSSEC RR上的KSK標記來用於刷新RRSIG,此項被忽略如果非DNSSEC RRs有或者沒有KSK,默認是yes 轉發(Forward): forward: 這個選項僅在轉發列表不爲空的情況下有作用.如果爲first,將先轉發再本地查詢,如果爲only,將只進行轉發查詢. forwarders: 指定轉發的IP地址表,默認地址表爲空. Dual-stack Servers: dual-stack-servers: 指定機器的主機名或者地址進行ipv4或者ipv6傳輸,如果使用主機名,服務器必須能解析名字只用於傳輸,如果服務器是對稱的,那麼daul-stack-servers沒有效果,除非用於傳輸被在命令行中關閉. 權限控制(Access Control): allow-notify: 指定哪個服務器可以通知這個服務器,從域,當主域發生變化時.當allow-notify用於在zone中指定,將覆蓋全局的選項.對從域服務器沒有用.默認只有主域可以發送通知信息. allow-query: 指定哪個服務器可以進行普通DNS查詢,如果在zone中指定,將覆蓋全局參數,默認允許來自全部主機的查詢. allow-query-cache: 指定哪個主機可以被允許從緩存中得到答案. allow-recursion: 指定哪個主機可以通過服務器進行遞歸查詢. allow-update: 指定哪個主機可以對主域進行動態更新操作. allow-update-forwarding: 指定哪個主機可以對從域發送動態更新,並由從域轉發到主域,默認爲{ none; }. allow-v6-synthesis: 此參數目的是爲了從AAAA到A6的地址平滑轉變,從"nibble labels"到二進制標籤. allow-transfer: 指定那些主機可以從服務器上接收區域傳輸,未指定將允許傳說到所有的主機. black-hole: 指定地址列表內的地址不接受解析從或者使用一個解析查詢,這些地址發出的查詢不會被相應,默認爲none. 接口(Interface): listen-on port 1234 { 5.6.7.8; }; 指定在地址5.6.7.8上面的1234端口提供服務,默認爲53. listen-on-v6: 在ipv6地址上監聽. 查詢地址(Query Address): query-sources address * port *; query-sources-v6 address * port *; 如果服務器不知道答案,將查詢其他的name服務器, query-source指定地址和端口用戶這些查詢. 區域傳輸(Zone Transfer): also-notify: 定義一個向在全局的地址列表的服務器發送通知信息當刷新或者加載區域的時候. max-transfer-time-in: 當區域傳入運行的時間大於設定的分鐘將被中斷,默認爲120 minutes,最大值爲28天,40320 minutes. max-transfer-idle-in: 當區域傳入運行處於傳輸等待的狀態,大於設定的時間將被中斷,默認爲60 minutes,最大值爲28天. max-transfer-time-out: 當區域傳出運行的時間大於設定的時間,將被中斷,默認爲120 minutes,最大爲28天. max-transfer-idle-out: 當區域傳出運行處於傳輸等待的狀態,大於設定時間將被中斷,默認爲60 minutes,最大爲28天. serial-query-rate: 從服務器定期去主服務器查詢區域的serial數字是否發生改變.默認爲20秒. serial-queries: BIND9忽略此參數,使用serial-query-rate代替. transfer-format: 區域的傳輸可以使用兩種不同的格式,one-answers和many-answers,one-answers傳輸每個記錄使用一個DNS信息,many-answers近可能把資源記錄打成一個包,默認爲many-answers transfer-in: 設定當前同時傳入的區域的最大數目,默認爲10個.區域的請求超過限制將被拒絕. transfer-out: 設定當前同時傳出的區域的最大數目,默認爲10個,區域的傳出請求超過限制將被決絕. transfer-per-ns: 設定同時進行傳輸的區域從給定的name服務,默認爲2. transfer-source: 指定通過哪個IPV4的源地址進行域的傳送. transfer-source-v6: 指定通過哪個IPV6的源地址進行域的傳送. alt-transfer-source: 指定,如果transfer-source發生故障,通過哪個IPV4的源地址進行域的傳松. alt-transfer-source-v6: 同上. use-alt-transfer-source: 指定是否通過alt-transfer-source進行域的傳松,默認爲yes,兼容BIND8. notify-source: 指定哪個本地地址,以及本地端口被用來作爲發送通知信息的源.此項受限於allow-notify. notify-source-v6: 同notify-source. Bad UDP Port Lists: 使用avoid-v4-udp-ports和avoid-v6-udp-ports來指定列表中的IPV4和ipv6端口不能被用於系統指定的源端口. Operating System Resource Limits: coresize: 用於core dump的限制. datasize: 可以使用的最大的數據內存. files: 最大打開文件數,默認unlimited. stacksize: 最大使用的內存棧. Server Resource Limits: max-ixfr-log-size: BIND8兼容,相當於BIND9的max-journal-size. max-journal-size: 設定每個日誌文件的最大大小.默認unlimited host-statistics-max: BIND9無效. recursive-clients: 設定最大併發進行遞歸查詢的數量,默認爲1000. tcp-clients: 服務器接受的最大併發tcp連接數,默認爲100. max-cache-size: 服務器緩存最大使用的內存,字節.默認爲unlimited,意味着記錄只有在TTL過期後才被清除出緩存. tcp-listen-queue: 監聽最深隊列,默認和最小值爲3. Periodic Task Intervals: cleaning-interval: 服務器清理過期的資源記錄在每個設定的時間間隔.默認爲60分鐘,最大設定爲28天,如果設定爲0將不進行清理. heartbeat-interval: 當被標記爲dialup的區域過了設定的時間間隔,將進行區域維護任務,默認爲60分鐘,合理的設置是1天,最大設置爲28天,如果設置爲0,將不進行區域維護任務. interface-interval: 服務器將在設定的時間間隔掃描網絡接口,默認爲60分鐘,最大爲28天,設定爲0只有在配置文件重新加載的時候才進行掃描. statistics-interval: 服務器的統計信息將在設定的期間內被記錄,默認爲60分鐘,最大28天,設置爲0將不記錄. Topology: topology { localhost; localnets; }; BIND9無效. Sortlist: sortlist { { localhost; localnets; }; { localnets; }; }; RRset Ordering: rrset-order { class IN type A name "host.example.com" order random; order cyclic; };

節(Tuning):
lame-ttl: 設定緩存一個lame服務器的時間,0關閉,默認600秒,最大爲1800秒.
max-ncache-ttl: 爲了減少網絡流量和提升性能,服務器記錄不正確的回答得時間,默認爲10800秒,不能超過7天.
max-cache-ttl: 設定服務器存儲普通應答的最大緩存時間,默認爲7天.
min-roots: BIND9無效.
sig-validity-interval: 設定DNSSEC自動生成動態更新的過期時間.默認爲30天,最長10年.
min-refresh-time,max-refresh-time,min-retry-time,max-retry-time: 這些選項控制服務器的運轉,當刷新一個區域或者重試失敗的傳輸.
edns-udp-size: 這個參數設定發出的EDNS UDP包的大小,有效地值是512-4096之間,默認爲4096bytes.
max-udp-size: 設定最大的EDNS信息的大小,有效地值是512-4096之間,默認爲4096bytes.
masterfile-format: 指定區域文件的格式,默認爲text.
clients-per-query,max-clients-per-query: 設定初始和最大數量服務器接受的客戶端併發的遞歸查詢,

服務器內建信息:
version: 版本
hostname: 主機名
server-id: 服務器ID

內建空域:
empty-server: 指定哪個服務器名將出現在返回的空域中的SOA記錄,如果沒指定,將使用區域的名字.
empty-contact: 指定哪個聯繫信息將出現在返回的空域的SOA記錄中.如果沒指定,將使用".".
empty-zones-enable: 打開或者關閉空的區域,默認爲開啓.
disable-empty-zone: 關閉單獨的空地區域,默認關閉,此參數可指定多次.

額外的Cache參數:
acache-enable: 是否打開額外的cache參數.
acache-cleaning-interval: 服務器將刪除過期的緩存進入,基於LRU based algorithm,每個設定的間隔時間,默認爲60分鐘,設置成0則不清除.
max-acache-size: 設定acache使用的最大的內存大小.

servers:對特定的服務器設置參數

語法:
server ip_addr[/prefixlen] {
    [ bogus yes_or_no ; ]
    [ provide-ixfr yes_or_no ; ]
    [ request-ixfr yes_or_no ; ]
    [ edns yes_or_no ; ]
    [ edns-udp-size number ; ]
    [ max-udp-size number ; ]
    [ transfers number ; ]
    [ transfer-format ( one-answer | many-answers ) ; ]]
    [ keys { string ; [ string ; [...]] } ; ]
    [ transfer-source (ip4_addr | *) [port ip_port] ; ]
    [ transfer-source-v6 (ip6_addr | *) [port ip_port] ; ]
    [ notify-source (ip4_addr | *) [port ip_port] ; ]
    [ notify-source-v6 (ip6_addr | *) [port ip_port] ; ]
    [ query-source [ address ( ip_addr | * ) ] [ port ( ip_port | * ) ]; ]
    [ query-source-v6 [ address ( ip_addr | * ) ] [ port ( ip_port | * ) ]; ]
};

trusted_keys:設置可信任的DNSSEC key

語法:
trusted-keys {
    string number number number string ;
    [ string number number number string ; [...]]
};

view:定義一個視圖

view view_name
      [class] {
      match-clients { address_match_list };
      match-destinations { address_match_list };
      match-recursive-only yes_or_no ;
      [ view_option; ...]
      [ zone_statement; ...]
};

zone:定義一個區域

zone zone_name [class] {
    type master;
    [ allow-query { address_match_list }; ]
    [ allow-transfer { address_match_list }; ]
    [ allow-update { address_match_list }; ]
    [ update-policy { update_policy_rule [...] }; ]
    [ also-notify { ip_addr [port ip_port] ; [ ip_addr [port ip_port] ; ... ] }; ]
    [ check-names (warn|fail|ignore) ; ]
    [ check-mx (warn|fail|ignore) ; ]
    [ check-wildcard yes_or_no; ]
    [ check-integrity yes_or_no ; ]
    [ dialup dialup_option ; ]
    [ file string ; ]
    [ masterfile-format (text|raw) ; ]
    [ journal string ; ]
    [ forward (only|first) ; ]
    [ forwarders { [ ip_addr [port ip_port] ; ... ] }; ]
    [ ixfr-base string ; ]
    [ ixfr-tmp-file string ; ]
    [ maintain-ixfr-base yes_or_no ; ]
    [ max-ixfr-log-size number ; ]
    [ max-transfer-idle-out number ; ]
    [ max-transfer-time-out number ; ]
    [ notify yes_or_no | explicit | master-only ; ]
    [ pubkey number number number string ; ]
    [ notify-source (ip4_addr | *) [port ip_port] ; ]
    [ notify-source-v6 (ip6_addr | *) [port ip_port] ; ]
    [ zone-statistics yes_or_no ; ]
    [ sig-validity-interval number ; ]
    [ database string ; ]
    [ min-refresh-time number ; ]
    [ max-refresh-time number ; ]
    [ min-retry-time number ; ]
    [ max-retry-time number ; ]
    [ key-directory path_name; ]
    [ zero-no-soa-ttl yes_or_no ; ]
};

zone zone_name [class] {
    type slave;
    [ allow-notify { address_match_list }; ]
    [ allow-query { address_match_list }; ]
    [ allow-transfer { address_match_list }; ]
    [ allow-update-forwarding { address_match_list }; ]
    [ update-check-ksk yes_or_no; ]
    [ also-notify { ip_addr [port ip_port] ; [ ip_addr [port ip_port] ; ... ] }; ]
    [ check-names (warn|fail|ignore) ; ]
    [ dialup dialup_option ; ]
    [ file string ; ]
    [ masterfile-format (text|raw) ; ]
    [ journal string ; ]
    [ forward (only|first) ; ]
    [ forwarders { [ ip_addr [port ip_port] ; ... ] }; ]
    [ ixfr-base string ; ]
    [ ixfr-tmp-file string ; ]
    [ maintain-ixfr-base yes_or_no ; ]
    [ masters [port ip_port] { ( masters_list | ip_addr [port ip_port] [key key] ) ; [...] }; ]
    [ max-ixfr-log-size number ; ]
    [ max-transfer-idle-in number ; ]
    [ max-transfer-idle-out number ; ]
    [ max-transfer-time-in number ; ]
    [ max-transfer-time-out number ; ]
    [ notify yes_or_no | explicit | master-only ; ]
    [ pubkey number number number string ; ]
    [ transfer-source (ip4_addr | *) [port ip_port] ; ]
    [ transfer-source-v6 (ip6_addr | *) [port ip_port] ; ]
    [ alt-transfer-source (ip4_addr | *) [port ip_port] ; ]
    [ alt-transfer-source-v6 (ip6_addr | *) [port ip_port] ; ]
    [ use-alt-transfer-source yes_or_no; ]
    [ notify-source (ip4_addr | *) [port ip_port] ; ]
    [ notify-source-v6 (ip6_addr | *) [port ip_port] ; ]
    [ zone-statistics yes_or_no ; ]
    [ database string ; ]
    [ min-refresh-time number ; ]
    [ max-refresh-time number ; ]
    [ min-retry-time number ; ]
    [ max-retry-time number ; ]
    [ multi-master yes_or_no ; ]
    [ zero-no-soa-ttl yes_or_no ; ]
};

zone zone_name [class] {
    type hint;
    file string ;
    [ delegation-only yes_or_no ; ]
    [ check-names (warn|fail|ignore) ; // Not Implemented. ]
};

zone zone_name [class] {
    type stub;
    [ allow-query { address_match_list }; ]
    [ check-names (warn|fail|ignore) ; ]
    [ dialup dialup_option ; ]
    [ delegation-only yes_or_no ; ]
    [ file string ; ]
    [ masterfile-format (text|raw) ; ]
    [ forward (only|first) ; ]
    [ forwarders { [ ip_addr [port ip_port] ; ... ] }; ]
    [ masters [port ip_port] { ( masters_list | ip_addr [port ip_port] [key key] ) ; [...] }; ]
    [ max-transfer-idle-in number ; ]
    [ max-transfer-time-in number ; ]
    [ pubkey number number number string ; ]
    [ transfer-source (ip4_addr | *) [port ip_port] ; ]
    [ transfer-source-v6 (ip6_addr | *) [port ip_port] ; ]
    [ alt-transfer-source (ip4_addr | *) [port ip_port] ; ]
    [ alt-transfer-source-v6 (ip6_addr | *) [port ip_port] ; ]
    [ use-alt-transfer-source yes_or_no; ]
    [ zone-statistics yes_or_no ; ]
    [ database string ; ]
    [ min-refresh-time number ; ]
    [ max-refresh-time number ; ]
    [ min-retry-time number ; ]
    [ max-retry-time number ; ]
    [ multi-master yes_or_no ; ]
};

zone zone_name [class] {
    type forward;
    [ forward (only|first) ; ]
    [ forwarders { [ ip_addr [port ip_port] ; ... ] }; ]
    [ delegation-only yes_or_no ; ]
};

zone zone_name [class] {
    type delegation-only;
};

區域Type:
master: 主域服務
slave: 從域服務
stub: 只複製主域的NS記錄,屬於BIND特有功能.
hint: 設定初始化設置根域服務器所用的參數.
forward: 域轉發設置
delegation-only: 設定返回爲NXDOMAIN?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章