域名系統(Domain Name System縮寫DNS,Domain Name被譯爲域名)
是因特網的一項核心服務,它作爲可以將域名和IP地址相互映射的一個分佈式數據庫
端口: tcp 53(主輔進行更新,保證質量);udp 53(提供解析工作,保證速度)
全稱域名最多255個字符
統一資源定位器 http://www.baidu.com
協議頭 http://
主機名 www 最多16個字符,只有15個字符可以用,“.”算一個字符
域名 baidu.com
全稱域名(FQDN)www.baidu.com
靜態解析文件 /etc/hosts
動態解析
DNS域名空間結構
方便管理所有的網絡資源
將整個網絡資源都放在一個大空間
根域“.”只記錄頂級域的信息
頂級域:CN HK com gov(政府機構) edu net(網絡服務機構) org(非營利組織)
子域:baidu
主機名:www
從下往上:www.baidu.com
DNS 解析模式
正向解析 域名--ip
反向解析 ip--域名
DNS查詢過程
遞歸:客戶端發送一個請求,接收了一個結果
迭代:DNS一級級找
委派:DNS 上一級找下一級
實驗
一、系統服務 DNS服務安裝包bind
配置文件 /etc/named.conf
//代表註釋
options {
指定對外提供服務的網卡 listen -on port 53 {any;或IP地址;};
指定路徑區域文件存放 directory “/var/named”;
指定服務器客戶端 allow-query {any;IP地址或整個網絡段192.168.10.0/24;};
安全設置
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
zone "." IN {
根服務器(線索服務器) type hint ;
根服務器(線索服務器) file "named.ca";
};
下一行新建區域(正向區域)
新建區域 zone "baidu.com" IN {
指定區域類型爲主要區域 type master;
指定區域文件名 file "baidu.db" ;
不允許動態更新 allow-update {none;};
};
下一行新建區域(反向區域)
指定區域地址段 zone "10.168.192.in-addr.arpa" IN {
type master;
file "db.baidu";
allow-update {none;};
};
配置數據類型文件
記錄類型
【正向區域的記錄類型】
(1)A記錄(主機記錄ipv4) 主機名與ip地址的對應
AAAA記錄(主機記錄ipv6)
(2)CNAME記錄(別名記錄)
例:www.baidu.com 別名 web.baidu.com
(3)MX記錄 (郵件交換器)
(4)NS記錄 (名稱服務器) 指定爲本域做解析的所有DNS服務器
(5)SOA記錄(起始授權機構)指定本域的主DNS服務器
【反向區域的記錄類型】
PTR記錄(反向指針)IP地址與FQDN的對應
創建正反向區域文件
/var/named/baidu.db
[正向區域文件]
@(本域) IN(指定記錄類型) SOA dns1.baidu.com.(指定本域主DNS服務器) root.baidu.com.(指定本域管理員郵箱) (
0; serial (序列號)
1D; refresh(刷新時間)
1H; resty (重試時間)
1W; expice (期滿時間)
3H); minimm (最小緩存週期,隔3小時清1次)
@ IN NS dns1.baidu.com.
@ IN NS dns2.baidu.com.
dns1 IN A 192.168.10.2
dns2 IN A 192.168.10.3
www IN A 192.168.10.100
ftp IN A 192.168.10.110
web IN CNAME www.baidu.com.
@ IN MX 10 mail.baidu.com. (10爲優先級,優先級越高,級數越小)
mail IN A 192.168.10.200
[反向區域文件]
/var/named/db.baidu
@(本域) IN(指定記錄類型) SOA dns1.baidu.com.(指定本域主DNS服務器) root.baidu.com.(指定本域管理員郵箱) (
0; serial (序列號)
1D; refresh(刷新時間)
1H; resty (重試時間)
1W; expice (期滿時間)
3H); minimm (最小緩存週期,隔3小時清1次)
@ IN NS dns1.baidu.com.
@ IN NS dns2.baidu.com.
2 IN PTR dns1.baidu.com.
3 IN PTR dns2.baidu.com.
100 IN PTR www.baidu.com.
110 IN PTR ftp.baidu.com.
200 IN PTR mail.baidu.com.
更改兩個區域的屬主和屬組
#chown named.named baidu.db
#chown named.named db.baid
重啓服務
#systemctl restart named
#systemctl status named
#systemctl enable named
編輯配置文件
/etc/resolv.conf
#nameserver 192.168.10.2(指向主DNS服務器)
驗證
nslookup IP或者域名
二、DNS轉發器(高速緩存)
原理:緩存+轉發,客戶端指向轉發器,若轉發器中有,則直接響應給客戶端,若沒有,要找主DNS要才響應給客戶端
實驗拓撲圖:主DNS服務器 ------ 轉發器 ------ 客戶端
實驗環境:主DNS:10.2 轉發器10.3 客戶端10.10
實驗:
在轉發器上進行設置,主DNS服務器設置同服務8.1
(1)安裝程序包 bind
(2)修改配置文件,開啓轉發功能
vim /etc/named.conf
options {
listen-on port 53 {any;};
directory "/var/named"
allow-query {any;};
forwarders {192.168.10.2;}; -->手動添加 :開啓轉發,指向主DNS服務器
forward only ;
dnssec-enable no;
dnssec-validation no;
// dnssec-lookaside auto;(將設置註釋掉)
保存退出
(3)重啓服務,客戶端驗證
#systemctl restart named
#systemctl status named
(4)客戶端指向轉發器
#nslookup(會出現非權威應答,說明是緩存過來客戶端的)
(5)若轉發器與主DNS不符,怎樣清除緩存
1.#rndc flush
2.#systemctl restart named
三、輔助DNS
實際工作中,若主DNS不down,永遠用不到輔助DNS
實驗環境:主DNS服務器10.2 輔助DNS10.3 客戶端10.10
實驗:
1、主DNS
(1)在主DNS上授權,允許10.3做區域複製
vim /etc/named.conf
在 allow-query {any;};下
添加
allow-transfer {192.168.10.2;};允許客戶端到dns複製
dnssec-enable no;
dnssec-validation no;
// dnssec-lookaside auto;(將設置註釋掉)
保存退出
(2)重啓服務named
2、輔助DNS上新建區域(若轉發器開的,要先關閉轉發器)
(1)關閉轉發器,新建區域
<正向>
zone "baidu.com" IN {
type slave ; 類型爲輔助
masters {192.168.10.2;}; 指定主DNS的IP地址
file "slaves/fubaidu.db"; 指定區域文件位置,區域文件都放在/var/named/slaves
};
<反向>
zone "10.168.192.in-addr.arpa" IN {
type slave ;
masters {192.168.10.2;};
file "slaves/fudb.baidu";
};
保存退出
(2)重啓服務named
【注】如果主輔DNS數據不一致
①等刷新時間到了自動進行數據同步;
②立即刷新,手動修改序列號,主輔均需重啓服務
四、子域解析
1、標準的子域解析,在上一級域新建主機記錄
(1)vim /etc/named/named.conf
正向區域
www.aix.baidu.com. IN A 192.168.10.210
保存退出重啓服務
(2)客戶端指向主DNS(10.2)
(3)nslookup驗證
2、委派
實驗拓撲圖:客戶端 ------ 主DNS(10.2)------ 被委派的服務器(10.4)
(1)修改主DNS服務器:
vim /var/named/baidu.db
刪除子域
aix IN NS dns3.baidu.com.(被委派服務器的FQDN)
dns3 IN A 192.168.10.4
保存退出
(2)被委派的DNS服務器 新建區域
vim /etc/named.conf
zone "aix.baidu.com" IN {
type master ;
file "aix.db";
allow-update {none;};
};
保存退出重啓服務
cp named.localhost aix.db
vim /var/named/aix.db
@(本域) IN(指定記錄類型) SOA dns3.baidu.com.(指定本域主DNS服務器) root.baidu.com.(指定本域管理員郵箱) (
0; serial (序列號)
1D; refresh(刷新時間)
1H; resty (重試時間)
1W; expice (期滿時間)
3H); minimm (最小緩存週期,隔3小時清1次)
@ IN NS dns3.baidu.com.
dns3 IN A 192.168.10.4
www IN A 192.168.10.220
保存退出重啓服務
改變屬主、屬組
chown named.named /var/named/aix.db
客戶端指向主DNS(10.2)
#nslookup驗證