BIND的安裝配置:
BIND: Berkeley Internet Name Domain, ISC.org
dns: 協議
bind: dns協議的一種實現
named:bind程序的運行的進程名
程序包:
bind-libs:被bind和bind-utils包中的程序共同用到的庫文件;
bind-utils:bind客戶端程序集,例如dig, host, nslookup等;
bind:提供的dns server程序、以及幾個常用的測試程序;
bind-chroot:選裝,讓named運行于jail模式下;
bind:
主配置文件:/etc/named.conf
或包含進來其它文件;
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/named.root.key
解析庫文件:
/var/named/目錄下;
一般名字為:ZONE_NAME.zone
注意: (1) 一臺DNS服務器可同時為多個區域提供解析;
(2) 必須要有根區域解析庫文件: named.ca;
(3) 還應該有兩個區域解析庫文件:localhost和127.0.0.1的正反向解析庫;
正向:named.localhost
反向:named.loopback
rndc:remote name domain contoller
953/tcp,但默認監聽于127.0.0.1地址,因此僅允許本地使用;
bind程序安裝完成之后,默認即可做緩存名稱服務器使用;如果沒有專門負責解析的區域,直接即可啟動服務;
CentOS 6: service named start
CentOS 7: systemctl start named.service
主配置文件格式:
全局配置段:
options { … }
日志配置段:
logging { … }
區域定義段:
zone { … }
那些由本機負責解析的區域,或轉發的區域;
注意:每個配置語句必須以分號結尾;
緩存名稱服務器的配置:
監聽能與外部主機通信的地址;
listen-on port 53;
listen-on port 53 { 172.16.100.67; };
學習時,建議關閉dnssec
dnssec-enable no;
dnssec-validation no;
dnssec-lookaside no;
關閉僅允許本地查詢:
//allow-query { localhost; };
檢查配置文件語法錯誤:
named-checkconf [/etc/named.conf]
測試工具:
dig, host, nslookup等
dig命令:
dig [-t RR_TYPE] name [@SERVER] [query options]
用于測試dns系統,因此其不會查詢hosts文件;
查詢選項:
+[no]trace:跟蹤解析過程;
+[no]recurse:進行遞歸解析;
注意:反向解析測試
dig -x IP
模擬完全區域傳送:
dig -t axfr DOMAIN [@server]
host命令:
host [-t RR_TYPE] name SERVER_IP
nslookup命令:
nslookup [-options] [name] [server]
交互式模式:
nslookup>
server IP:以指定的IP為DNS服務器進行查詢;
set q=RR_TYPE:要查詢的資源記錄類型;
name:要查詢的名稱;
rndc命令:named服務控制命令
rndc status
rndc flush
配置解析一個正向區域:
以magedu.com域為例:
(1) 定義區域
在主配置文件中(/etc/named.conf)或主配置文件輔助配置文件(/etc/named.rfc1912.conf)中實現;
zone "ZONE_NAME" IN { type {master|slave|hint|forward}; file "ZONE_NAME.zone"; };
注意:區域名字即為域名;
(2) 建立區域數據文件(主要記錄為A或AAAA記錄)
在/var/named目錄下建立區域數據文件;
文件為:/var/named/magedu.com.zone
$TTL 3600 $ORIGIN magedu.com. @ IN SOA ns1.magedu.com. dnsadmin.magedu.com. ( 2017010801 1H 10M 3D 1D ) IN NS ns1 IN MX 10 mx1 IN MX 20 mx2 ns1 IN A 172.16.100.67 mx1 IN A 172.16.100.68 mx2 IN A 172.16.100.69 www IN A 172.16.100.67 web IN CNAME www bbs IN A 172.16.100.70 bbs IN A 172.16.100.71
權限及屬組修改:
# chgrp named /var/named/magedu.com.zone
# chmod o= /var/named/magedu.com.zone
檢查語法錯誤:
# named-checkzone ZONE_NAME ZONE_FILE
# named-checkconf
(3) 讓服務器重載配置文件和區域數據文件
# rndc reload 或
# systemctl reload named.service
配置解析一個反向區域
(1) 定義區域
在主配置文件中或主配置文件輔助配置文件中實現;
zone "ZONE_NAME" IN { type {master|slave|hint|forward}; file "ZONE_NAME.zone"; };
注意:反向區域的名字
反寫的網段地址.in-addr.arpa
100.16.172.in-addr.arpa
(2) 定義區域解析庫文件(主要記錄為PTR)
示例,區域名稱為100.16.172.in-addr.arpa;
$TTL 3600 $ORIGIN 100.16.172.in-addr.arpa. @ IN SOA ns1.magedu.com. nsadmin.magedu.com. ( 2017010801 1H 10M 3D 12H ) IN NS ns1.magedu.com. 67 IN PTR ns1.magedu.com. 68 IN PTR mx1.magedu.com. 69 IN PTR mx2.magedu.com. 70 IN PTR bbs.magedu.com. 71 IN PTR bbs.magedu.com. 67 IN PTR www.magedu.com.
權限及屬組修改:
# chgrp named /var/named/172.16.100.zone
# chmod o= /var/named/172.16.100.zone
檢查語法錯誤:
# named-checkzone ZONE_NAME ZONE_FILE
# named-checkconf
(3) 讓服務器重載配置文件和區域數據文件
# rndc reload 或
# systemctl reload named.service
主從服務器:
注意:從服務器是區域級別的概念;
配置一個從區域:
On Slave
(1) 定義區域
定義一個從區域;
zone "ZONE_NAME" IN { type slave; file "slaves/ZONE_NAME.zone"; masters { MASTER_IP; }; };
配置文件語法檢查:named-checkconf
(2) 重載配置
rndc reload
systemctl reload named.service
On Master
(1) 確保區域數據文件中為每個從服務配置NS記錄,并且在正向區域文件需要每個從服務器的NS記錄的主機名配置一個A記錄,且此A后面的地址為真正的從服務器的IP地址;
注意:時間要同步;
ntpdate命令;
子域授權:
正向解析區域授權子域的方法:
ops.magedu.com. IN NS ns1.ops.magedu.com. ops.magedu.com. IN NS ns2.ops.magedu.com. ns1.ops.magedu.com. IN A IP.AD.DR.ESS ns2.ops.magedu.com. IN A IP.AD.DR.ESS
定義轉發:
注意:被轉發的服務器必須允許為當前服務做遞歸;
(1) 區域轉發:僅轉發對某特定區域的解析請求;
zone "ZONE_NAME" IN { type forward; forward {first|only}; forwarders { SERVER_IP; }; };
first:首先轉發;轉發器不響應時,自行去迭代查詢;
only:只轉發;
(2) 全局轉發:針對凡本地沒有通過zone定義的區域查詢請求,通通轉給某轉發器;
options { ... ... forward {only|first}; forwarders { SERVER_IP; }; ... ... };
bind中的安全相關的配置:
acl:訪問控制列表;把一個或多個地址歸并一個命名的集合,隨后通過此名稱即可對此集全內的所有主機實現統一調用;
acl acl_name { ip; net/prelen; };
示例:
acl mynet { 172.16.0.0/16; 127.0.0.0/8; };
bind有四個內置的acl
none:沒有一個主機;
any:任意主機;
local:本機;
localnet:本機的IP所屬的網絡;
訪問控制指令:
allow-query {}; 允許查詢的主機;白名單;
allow-transfer {}; 允許向哪些主機做區域傳送;默認為向所有主機;應該配置僅允許從服務器;
allow-recursion {}; 允許哪此主機向當前DNS服務器發起遞歸查詢請求;
allow-update {}; DDNS,允許動態更新區域數據庫文件中內容;
原創文章,作者:XIAJIDONG,如若轉載,請注明出處:http://www.www58058.com/77193
主要介紹了bind的配置文件的格式及應用,介紹了bind正向解析、反向解析、主從配置。及如何開啟轉發功能。內容寫的很詳細,排版上需要注意下標題