實驗環境:centos 7
程序版本:bind-9.9.4-29.el7.x86_64
安裝方法:yum install -y bind (base倉庫):
端口:
TCP53:負責主從服務器的數據複製傳輸
UDP53:負責解析
主配置文件:/etc/named.conf
區域配置文件存放目錄:/var/named/
從服務器的區域配置文件存放目錄:/var/named/slaves
主服務器:192.168.1.12
從服務器:192.168.1.13
主從配置:
~]# cp -p /etc/named.conf /etc/named.conf.bak
~]# vi /etc/named.conf
options { listen-on port 53 { localhost; }; #哪些主機可以訪問解析 listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; #允許哪些主機請求查詢 recursion yes; #遞歸查找 dnssec-enable no; #DNS加密 dnssec-validation no; #DNS加密高級算法 zone "wwe.com" IN { #正向區域 type master; #主(master),從(slave),轉發(forward),根(hint) file "wwe.com.zone"; #區域文件名稱 allow-transfer { 192.168.1.13; }; #定義傳輸白名單 }; zone "1.168.192.in-addr.arpa" IN { #反向區域 type master; file "arpa-wwe.zone"; allow-transfer { 192.168.1.13; }; #定義傳輸白名單 };
正向解析區域文件:
SOA:起始授權機構,定義DNS區域中的權威服務器
NS:定義DNS區域正在提供DNS服務的主機
A記錄:主機記錄(正向區域)
MX:郵件交換記錄。如果有多個,在MX記錄後應有一個0-99的值,表示此服務器的優先級,值越小優先級越高
*:泛域名
CNAME:別名
~]# cp /var/named/named.localhost /var/named/wwe.com.zone
~]# vi /var/named/wwe.com.zone
$TTL 1D @ IN SOA s1.wwe.com. admin.wwe.com. ( SOA後寫主DNS服務器名字 2017001 ; serial 序列號,最大10位 1D ; refresh 刷新時間 1H ; retry 重試時間 1W ; expire 過期時間 3H ) ; minimum 否定答案的TTL值 NS s1.wwe.com. NS s2.wwe.com. s1 A 192.168.1.12 s2 A 192.168.1.13 www A 192.168.1.12 @ MX 10 mx1 MX 20 mx2 mx1 A 192.168.1.14 mx2 A 192.168.1.15 ftp CNAME www * A 192.168.1.12
檢查]# named-checkzone wwe.com.zone /var/named/wwe.com.zone #文件名 文件路徑
注意:com後面都有點
注意:修改區域文件的屬主和主組爲named
admin後面的點是@的意思,因@有特殊含義,故用點代替
D(day)
H(hour)
W(week)
M(minute)
/etc/resolv.conf
反向解析區域文件:
]# vi /var/named/arpa-wwe.zone
$TTL 1D @ IN SOA s1.wwe.com. admin.wwe.com. ( 2017001 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS s1.wwe.com. NS s2.wwe.com. 12 PTR s1 13 PTR s2 12 PTR www 14 MX 10 mx1 15 MX 20 mx2
啓動服務
從服務器配置
zone "wwe.com" IN { type slave; #類型:從服務器 masters { 192.168.1.12; }; #定義主服務器地址,括號內前後空一格 masterfile-format text; #不寫可能會出現亂碼問題 file "slaves/wwe.com.zone"; #文件存放位置,文件名要與主服務器一樣 }; zone "1.168.192.in-addr.arpa" IN { type slave; masters { 192.168.1.12; }; masterfile-format text; file "slaves/arpa-wwe.zone"; };
啓動服務
查看/var/named/slaves/目錄下有沒有生成區域配置文件
安裝bind-utils程序包,使用dig命令可檢查服務是否可用
~]# dig ftp.wwe.com @192.168.1.12
注意:在使用的客戶端上修改文件 /etc/resolv.conf
添加DNS服務器,也就是我們上面設置的DNS主服務器
nameserver 192.168.1.12
子域授權和轉發
爲了方便公司部門管理運營,每個部門需要獨立的域名服務器,這就要在父域下分配子域,比如,運維部的子域ops.wwe.com,而子域需要父域授權
父域:主機192.168.1.12 wwe.com
子域:主機10.1.12.100 ops.wwe.com
編輯父域的區域文件:
~]# vi /var/named/wwe.com.zone 添加倆條記錄
NS son.ops.wwe.com. son.ops A 10.1.12.100
配置子域的DNS:
]# vi /etc/named.conf
zone "ops.wwe.com" IN { type master; file "ops.wwe.com.zone"; }; zone "wwe.com" IN { type forward; forward only; forwarders { 192.168.1.12; }; };
生成區域文件:
]# vi /var/named/ops.wwe.com.zone
$TTL 86400 ; 1 day @ IN SOA son.ops.wwe.com. admin.ops.wwe.com. ( 2011002 ; serial 86400 ; refresh (1 day) 3600 ; retry (1 hour) 604800 ; expire (1 week) 10800 ; minimum (3 hours) ) @ NS son.ops.wwe.com. son A 10.1.12.100 www A 10.1.12.12
DNS智能解析(基於視圖)
~]# vi /etc/named.conf
acl innet { 192.168.1.0/24; }; #來源IP指定 acl another { ! 192.168.1.0/24; }; #反選,上面指定的IP網段外的IP view "lan" { #定義內網的名字 match-client { "innet"; }; #匹配這個IP網段才使用下面的zone zone "." IN { type hint; file "named.ca"; }; zone "wwe.com" IN { type master; file "wwe.com.zone"; allow-transfer { 192.168.1.13; }; }; zone "1.168.192.in-addr.arpa" IN { type master; file "arpa-wwe.zone"; allow-transfer { 192.168.1.13; }; }; }; view "wan" { #定義外網的名字 match-client { "another"; }; #同上,匹配acl定義的這個網段 zone "." IN { type hint; file "named.ca"; }; zone "wwe.com" IN { type master; file "wwe.com.zone.new"; #區域文件要與上面不一樣 allow-transfer { 192.168.1.13; }; }; };
配置view "wan"中定義的區域配置文件wwe.com.zone.new文件
]# vi /var/named/wwe.com.zone.new
$TTL 1D @ IN SOA s1.wwe.com. admin.wwe.com. ( 2011002 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS s1.wwe.com. NS s2.wwe.com. NS son.ops.wwe.com. s1 A 192.168.100.12 s2 A 192.168.100.13 son.ops A 10.1.12.100 www A 192.168.100.12 @ MX 10 mx1 MX 20 mx2 mx1 A 192.168.100.14 mx2 A 192.168.100.15 web CNAME www * A 192.168.100.15