環境介紹
-
系統版本:CentOS 7.2
-
程序包:bind(提供的dns server程序、已經幾個常用的測試程序)、bind-utils(bind客戶端程序集,例如dig,host,nslookup等)
緩存名稱服務器的配置:
1、安裝程序包
~]# yum install bind bind-utils -y
2、修改主配置文件
-
主配置文件:/etc/named.conf
-
其中主配置文件包含有其它文件:
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/named.root.key -
主配置文件的格式:
全局配置段:
options {
…
}
日志配置段:
logging {
…
}
區域配置段:
zone{
…
}
修改全局配置段如下:
3、檢查檢查配置文件語法錯誤
使用命令:named-checkconf [/etc/named.conf]
4、啟動服務
使用命令:systemctl start named
5、測試連通性
幾個測試工具:
1、dig命令:
命令用法: dig [it RR_TYPE] name [@SERVER] [query options] 用于測試dns系統,因此其不會查詢host文件 查詢選項: +[no]trace:跟蹤解析過程 +[no]recurse:進行遞歸解析 反向解析測試: dig -x IP
2、nslook命令:
命令用法: nslookup [-options] [name] [server] 交互式模式: nslookup> server IP:以指定的IP為DNS服務器進行查詢 set q=RR_TYPE:要查詢的資源記錄類型 name:要查詢的名稱
配置一個正向解析區域
1、定義區域,在主配置文件中或主配置文件輔助配置文件中實現。以magedu.com為例:
編輯/etc/named.rfc1912.zones文件,插入如下字段。
zone "magedu.com" IN { type master; file "magedu.com.zone"; };
-
type:服務器的類型(master(主服務器) | slave(從服務器) | hint(根服務器) | forward(轉發服務器))。
-
file:區域數據文件名稱,默認在在/var/named目錄下。
2、建立區域數據文件(主要記錄為A或AAAA記錄)
在/var/named目錄下建立區域數據文件,文件名與上一步定義的保持一致。
-
$TTL:設置有效地址解析記錄的默認緩存時間。
-
$ORIGIN:表示該zone文件用來描述的域(domain)名稱,說明下面的記錄源出何處。
-
MX:郵件交換(Mail Exchange)記錄,用于設置當前域的郵件服務器域名地址。
-
A地址(Address)記錄:用于記錄正向域名解析
-
CNAME:別名(Canoical Name)記錄
-
其中,NS、MX記錄行首的@符號可以省略(默認繼承SOA記錄行首的@信息),但是必須保留一個空格或者制表位;如果ns用全名稱,com后面要有"." 如果不是全名稱,后面一定不能有"."
3、配置完成之后,要進行權限及屬組修改
# chgrp named /var/named/magedu.com.zone # chmod o= /var/named/magedu.com.zone
4、檢查配置文件語法錯誤
# named-checkzone magedu.com /var/named/magedu.com.zone # named-checkconf
5、讓服務器重載配置文件和區域數據文件
# rndc reload 或 # systemctl reload named.server
測試驗證使用dig命令
查看NS
配置一個反向解析區域
1、定義區域,在主配置文件中或主配置文件輔助配置文件中實現
編輯/etc/named.rfc1912.zones文件,插入如下字段。
zone "1.168.192.in-addr.arpa" IN { type master; file "192.168.1.zone"; };
2、定義區域解析庫文件(主要記錄為PTR)
在/var/named目錄下建立區域數據文件,文件名與上一步定義的保持一致。
-
反向區域的名字:反寫的網段地址.in-addr.arpa
3、進行權限及屬組修改
# chgrp named /var/named/192.168.1.zone # chmod o= /var/named/192.168.1.zone
4、檢查配置文件語法錯誤
# named-checkzone 1.168.192.in-addr.arpa /var/named/192.168.1.zone # named-checkconf
5、讓服務器重載配置文件和區域數據文件
# rndc reload 或 # systemctl reload named.server
測試:
輔助DNS服務器配置
-
從服務器是區域級別的概念
1、在從服務器上定義一個區域:
zone "magedu.com" IN { type slave; file "slaves/magedu.com.zone"; masters { 10.1.8.81; }; };
-
masters:指明主DNS地址。
2、重載配置
#rndc reload
3、在主服務器上
確保區域數據文件中為每個服務配置NS記錄,并且在正向區域文件需要每個從服務器的NS記錄的主機名配置一個A記錄,且此A后面的地址為真正的從服務器的IP地址。
驗證:
從服務器上查看狀態:
去到/var/named/slaves,可以看到同步過來的數據庫配置文件
使用dig驗證輔助DNS服務器是否能解析www.magedu.com域名
-
注意時間同步、iptables和SElinux的規則。
子域授權
1、在主域數據庫文件授權
2、子域新裝bind并配置
定義監聽端口及IP地址
listen-on port 53 { 10.1.8.84; };
3、子域創建配置區域文件
zone "cdn.magedu.com" IN { type master; file "cdn.magedu.com.zone"; };
4、創建子域數據文件
$TTL 3600 $ORIGIN cdn.magedu.com. @ IN SOA ns1.cdn.magedu.com nsadmin.magedu.com.com ( 2017020800 1D 30M 1D 1D ) IN NS ns1 ns1 IN A 10.1.8.84 www IN A 10.1.8.84
驗證:
在主域的主NS服務器中,使用 dig -t A www.cdn.magedu.com ,如果能解析到,說明配置OK。
原創文章,作者:641348038@qq.com,如若轉載,請注明出處:http://www.www58058.com/67867
不只是搭建,原理也很重要,尤其是在企業中應用到后,如何加快解析,如何智能解析,如何實現主備切換等高可用方案。