一、基本概念
1.專業術語1
(1)hosts
/etc/hosts文件:
作用: 實現名字解析,主要爲本地主機名、集羣節點提供快速解析
(2)DNS域名系統
作用: 實現名字解析(例如將主機名解析爲IP)
(3)FQDN:(Fully Qualified Domain Name)完全合格域名/全稱域名
例如:www. baidu. com .
主機名.二級域.頂級域.(根域)
(4)DNS區域文件
DNS服務器,存儲某個命名空間的域名記錄文件。
域名記錄:IP 和 域名的對應關係。
2.專業術語2
(1)權威名稱服務器
權威名稱服務器: 存儲並提供某個區域的實際數據
flags:qr aa rd
權威名稱服務器類型包括:
Master: 主DNS服務器,包含原始區域的數據
Slave: 備份DNS服務器,通過(區域傳輸)從Master服務器獲得區域數據的副本
(2)非權威名稱服務器:
flags:qr rd ra
非權威名稱服務器: 不存儲某個區域的實際數據,僅緩存DNS服務器,雖然可以提供查詢,但查詢的內容不具有權威性
(3)DNS解析流程 (面試題)
例如客戶端解析 www.126.com
1. 客戶端查詢自己的緩存(包含hosts中的記錄),如果沒有,將查詢發送/etc/resolv.conf中的DNS服務器
2. 如果本地DNS服務器對於請求的信息具有權威性,會將(權威答案)發送到客戶端。
3. 否則(不具有權威性),如果DNS服務器在其緩存中有請求信息,則將(非權威答案)發送到客戶端
4. 如果緩存中沒有該查詢信息,DNS服務器將搜索權威DNS服務器以查找信息:
a. 從根區域開始,按照DNS層次結構向下搜索,直至對於信息具有權威的名稱服務器,爲客戶端獲答案
DNS服務器將信息傳遞給客戶端 ,並在自己的緩存中保留一個副本,以備以後查找。
b. 轉發到其它DNS服務器
(4)服務器類型
緩存服務器
主服務器(正向/反向)
從服務器(不維護區域文件)
轉發服務器
二、DNS服務器基本配置
1.緩存DNS服務器/轉發器
(1)環境
DNS服務器1:10.18.41.22
DNS客戶機:10.18.41.85
(2)部署DNS服務器
第一步:安裝域名服務
#yum -y install bind bind-chroot
第二步:觀察域名服務設置,啓動查詢功能
#vim /etc/named.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
allow-query { any; };
第三步:啓動DNS服務器
#systemctl start named
#systemctl enable named
第四步:查看DNS53號端口是否開啓成功
#ss -tnl | grep :53
第五步:關防火牆
#setenfoce 0
#systemctl stop firewalld
(3)客戶端測試DNS解析
#vim /etc/resolv.conf
nameserver 10.18.41.22 ---上一臺DNS服務器的地址
DNS服務器正常提供服務後
# dig www.baidu.com
;; ANSWER SECTION:
www.baidu.com. 1055 IN CNAME www.a.shifen.com.
www.a.shifen.com. 155 IN A 111.13.100.92 //目標主機的IP地址
;; SERVER: 10.18.41.22 #53(上一臺服務器的IP)
flags:qr rd ra 非權威答案
flags:qr aa rd 權威答案
(4)解析原理(根提示)
查看DNS服務主配置文件
#vim /etc/named.conf
根配置文件:/var/named/named.ca--------包含了Internet的根服務器名字和地址
(5)擴展:DNS轉發器
DNS轉發Forward [通常轉發到上一級的DNS服務器]
options {
...
forward first;
forwarders{114.114.144.114;202.106.0.20;};
};
2.主DNS服務器配置/正向區解析配置
案例1:bijz.com
(1)搭建環境:
DNS服務器--10.18.41.22
DNS客戶機--10.18.41.119
安裝域名服務程序:#yum -y install bind bind-chroot
(2)主配置文件
(1)#vim /etc/named.conf //創建域bijz.com,相當於在域名服務商申請域名
zone "bijz.com" {
type master;
file "bijz.com.zone";
};
(2)數據庫文件(區域文件) 在域名服務提供的頁面上做解析
#vim /var/named/bijz.com.zone
$TTL 600
@ IN SOA @ root ( 2017033100 1H 15M 1W 1D )
解釋://SOA授權 root.bijz.com管理員郵箱 (版本號時間戳 1小時同步 15分鐘重試 1周過期 1天的緩存)
@ IN NS dns //bijz.com是DNS服務器的域名
dns IN A 10.18.41.22 //DNS服務器本機IP,聲明本機是DNS服務器地址是10.18.41.22
ttt IN CNAME www //設置www的小名,訪問ttt.bijz.com也是訪問10.18.41.119
www IN A 10.18.41.119 //網站服務器IP,隨便一個網站服務器
(3)重啓DNS,使配置生效
#systemctl restart named
(4)客戶端查詢
第一步:指定本地DNS ----
#vim /etc/resolv.conf
nameserver 10.18.41.22
第二步:客戶端解析域名
第一種方法:
#dig www.bijz.com
flags:qr rd ra 非權威答案
flags:qr aa rd 權威答案
第二種方法:
#nslookup www.bijz.com