002.DNS-BIND簡介
阿新 • • 發佈:2018-11-01
一 Linux-BIND伺服器簡介
Bind是Berkeley Internet Name Domain Service的簡寫,它是一款實現DNS伺服器的開放原始碼軟體。已經成為世界上使用最為廣泛的DNS伺服器軟體,目前Internet上半數以上的DNS伺服器有都是用Bind來架設的,已經成為DNS中事實上的標準。
二 DNS伺服器型別
- 快取伺服器:不負責解析,僅為加速,不需要註冊
- 主DNS伺服器:負責解析本地客戶端請求
- 輔助DNS伺服器:輔助伺服器的區域資料都是從主伺服器複製而來,其資料都是隻讀的
三 BIND簡介
3.1 bind詳解
- 包名:bind
- 程序:named
- 協議:dns
- 使用埠:53(tcp,udp)
相關包:
- bind-chroot:將named程序的活動範圍限定在chroot目錄,保證安全性。
- bind-devel:與開發相關的標頭檔案和庫檔案(編譯安裝bind時所需)
- bind-libs:bind伺服器端和客戶端都使用到的公共庫檔案
- bind-utils : bind客戶端工具
程式檔案:/usr/sbin/named
主程式目錄:/var/named
主配置檔案:/etc/named.conf
bind許可權相關:安裝完named會自動建立使用者named系統使用者
3.2 bind配置檔案解釋
1 /etc/logrotate.d/named/etc/named.conf #主配置檔案 2•/etc/named.rfc1912.zones #區域配置檔案(用include指令包含在主配置檔案) 3 •/etc/named.root.key #根區域的key檔案以實現事務簽名; 4 •/etc/rndc.conf #rndc(遠端名稱伺服器控制器)配置檔案 5 •/etc/rndc.key #rndc加密金鑰 6 •/etc/sysconfig/named 7 •/var/named/named.ca #13個根伺服器存放檔案/var/named/named.empty 8 •/var/named/named.localhost 9 •/var/named/named.loopback
3.3 主配置檔案
named.conf,每個語句都要使用分號結尾;其功能如下:
- 定義區域
- 定義各區域的全域性配置
- 定義檢視
- 定義日誌
第一段:
1 options { 2 3 listen-on port 53 { 0.0.0.0/0; }; 4 5 listen-on-v6 port 53 { ::1; }; 6 7 directory "/var/named"; 8 9 dump-file "/var/named/data/cache_dump.db"; 10 11 statistics-file "/var/named/data/named_stats.txt"; 12 13 memstatistics-file "/var/named/data/named_mem_stats.txt"; 14 15 allow-query { any; }; 16 17 recursion yes; 18 19 dnssec-enable yes; 20 21 dnssec-validation yes; 22 23 dnssec-lookaside auto; 24 25 bindkeys-file "/etc/named.iscdlv.key"; 26 27 managed-keys-directory "/var/named/dynamic"; 28 29 pid=file "/run/named/named.pid"; 30 31 session-keyfile "/run/named/session.key"; 32 33 };
第一段主要配置項解釋:
- listen-on:指定IPv4監聽的埠和IP,預設為53,IP位127.0.0.1;
- directory:指定named讀取DNS資料檔案的目錄,預設為/var/named/;
- dump-file:設定域名快取資料庫檔案的位置,預設為/var/named/data;
- statistics-file:設定狀態統計檔案的路徑,預設為/var/named/data;
- allow-query:設定允許DNS查詢的客戶端地址,預設值為localhost;
- recursion:設定遞迴查詢,yes:雲訊遞迴查詢,no:不允許遞迴查詢,預設配置允許遞迴查詢。
第二段:
1 logging { #定義日誌 2 3 channel default_debug { 4 5 file "data/named.run"; 6 7 severity dynamic; 8 9 }; 10 11 };
第二段主要配置項解釋:
- channel:定義日誌輸出方式,有syslog、文字檔案、標準錯誤輸出或/dev/null等方式;
- file:表示輸出到純文字檔案;
- severity:表示訊息的嚴重性等級,有critical、error、warning、info、debug等;
第三段:
1 zone "." IN { 2 3 type hint; 4 5 file "named.ca"; 6 7 allow-update { none; }; 8 9 };
第三段主要配置項解釋:
- zone:定義一個正向區域,對應的域名;
- type:型別,通常有master、slave和hit,含義如下——
- master:表示定義的是主域名伺服器;
- slave:表示定義的是輔助域名伺服器;
- hint:表示定義的是網際網路中根域名伺服器。
- file:指定存放dns記錄的資料檔名稱,預設路徑為/var/named;
- allow-update:是否允許客戶主機或伺服器自行更新dns記錄。
3.4 區域檔案
區域檔案包括正向區域檔案和反向區域檔案。
- 正向區域
1 [[email protected] named]# vi /var/named/aliyun.com.zone 2 $TTL 300; 3 @ IN SOA linuxmaster.aliyun.com. admin.aliyun.com. ( 4 2017051720 ;serial 5 1H ;refresh 6 5M ;retry 7 7D ;expiry 8 3D ) ;minimum 9 IN NS linuxmaster 10 IN MX 20 MX 11 linuxmaster IN A 172.24.8.10 12 www IN A 172.24.8.30 13 mirrors IN A 172.24.8.30 14 ftp IN CNAME www
正向區域檔案解釋:
- TTL:定義區域中資料檔案裡面的各項記錄的預設TTL值;
- SOA:SOA記錄,@代表相應的域名,每個區域資料檔案只能有一個SOA,其中引數有——
- serial:表示配置檔案的修改版本,格式為年月日加上修改的次數;
- refresh:設定輔助dns和主dns進行同步的間隔時間;
- retry:如果輔助dns進行更新失敗後,間隔多久進行重試;
- expiry:設定輔助dns與主dns同步失敗後,多長時間後清除對應的記錄;
- minimum:預設最小的TTL值,如果在前面沒有設定TTL,則以此值為準。
- NS:定義此主機屬於域名伺服器;
- MX:定義一個郵箱交換器;
- A指標:定義一個A記錄,即域名到IP的記錄;
- CNAME:定義域名的別名。