第十三章.DNS服務
第十三章 域名解析服務教學內(nèi)容:? 域名解析的基本概念? DNS 服務器的配置 ? DNS 客戶端的配置與服務器的測試方法教學目標:? 了解域名解析的方法? 熟悉DNS 的正向解析過程 ? 掌握DN
第十三章 域名解析服務
教學內(nèi)容:
? 域名解析的基本概念
? DNS 服務器的配置 ? DNS 客戶端的配置與服務器的測試方法
教學目標:
? 了解域名解析的方法
? 熟悉DNS 的正向解析過程 ? 掌握DNS 服務器的配置和客戶端的設(shè)置
教學重點:
? DNS 的解析過程
? DNS 服務器的配置
? DNS 客戶端的設(shè)置
教學難點:
? 反向解析
一. 域名解析的基本概念
1. 域名解析的意義
實現(xiàn)域名和IP 地址之間的轉(zhuǎn)換過程
2. 域名解析的方法
HOSTS :在網(wǎng)絡(luò)中的每臺主機都用一個文本文件來存放域名和IP 地址的
對照表,適用于小型網(wǎng)絡(luò)
NIS :用NIS 數(shù)據(jù)庫存放的解析記錄,適用于中型網(wǎng)絡(luò)
DNS :域名解析信息分布存儲在網(wǎng)絡(luò)中每臺主機,實現(xiàn)分布式解析(適用
于大型網(wǎng)絡(luò))
3. DNS 的工作體系
(1)域名空間
DNS 域名空間是命名機制,它提供DNS 數(shù)據(jù)庫的層次樹狀結(jié)構(gòu),由根域、頂級域、子域與主機名組成, 如下圖所示:

根域
子域
子域
主機
DNS 域名空間最上面的是根域,可以用圓點“.”表示,它由InterNIC(因特網(wǎng)網(wǎng)絡(luò)信息中心) 管理。根域下定義了許多頂級域,如下表所示。
,
(2)DNS 名稱服務器 DNS 名稱服務器保存有資源記錄并能響應名稱查詢的計算機。如果DNS 服務器負責管理一個或多個區(qū)域,就稱此DNS 服務器為這些區(qū)域的授權(quán)名稱服務器。授權(quán)服務器負責管理所管轄的區(qū)域中的數(shù)據(jù),并為查詢的DNS 客戶提供這些數(shù)據(jù)。DNS 名稱服務器有以下三種類型: ● 主名稱服務器
主要名稱服務器負責存儲授權(quán)區(qū)域的一切數(shù)據(jù)且管理該區(qū)域和對區(qū)域具有解析功能。
● 輔助域名稱服務器
輔助名稱服務器可以從主名稱服務器中轉(zhuǎn)移一整套區(qū)域信息。并且輔助名稱服務器會定時從主名稱服務器中更新數(shù)據(jù),同時可以接受客戶機的查詢.
● 唯高速緩存服務器
緩存服務器負責臨時存儲主名稱服務器己解析過域名記錄
(3)客戶機
DNS 客戶機利用一個簡單的程序或子程序庫, 從服務器中提取信息以響應對域名空間的主機查詢
4. DNS 的解析過程
(1) 正向解析
當DNS 客戶端向DNS 服務器查詢IP 地址時,或DNS 服務器在向另外一臺DNS 服務器查詢IP 地址時,有以下三種查詢方式:
● 直接從緩沖存儲器解析
可以直接從DNS 客戶端或DNS 服務器的高速緩沖器中獲得查詢結(jié)果。 ● 遞歸查詢
也就是DNS 客戶端送出查詢要求后,如果本地DNS 服務器內(nèi)沒有需要的數(shù)據(jù),則DNS 服務器會代替客戶端向其他的DNS 服務器查詢,一般由DNS 客戶端所提出的查詢要求是屬于遞歸查詢。
● 循環(huán)查詢
一般DNS 服務器與DNS 服務器之間的查詢屬于這種查詢方式,當?shù)?臺DNS 服務器在向第2臺DNS 服務器提出查詢要求后,如果第2臺DNS 服務器內(nèi)沒有所需要的數(shù)據(jù),則它會提供第3臺DNS 服務器的IP 地址給第1臺服務器,讓第1臺DNS 服務器向第3臺DNS 服務器查詢。具體
,解析過程, 如下圖所示:

DNS2
管轄根的DNS服務器
DNS4
管轄ahxinhua.comDNS3管轄.com DNS務器
(2) 反向解析
域名反向解析可以讓DNS 客戶端利用IP 地址查詢其主機名稱,服務
器利用in-addr.arpa 反向指針,將一個ip 地址指點向域名。
二. DNS 的配置:
1.安裝DNS 服務器軟件
#rpm –ivh bind-9.2.1-16.i386.rpm
#rpm –ivh bind-utils-9.2.1-16.i386.rpm
#rpm –ivh redhat-config-bind-1.9.0-13.noarch.rpm
#rpm –ivh caching-nameserver-9.2-7.noarch.rpm
相關(guān)文件:
/etc/named.conf dns服務器核心配置文件
/etc/rc.d/init.d/named dns 服務器守護進程所對應的程序 /var/named/named.ca dns服務器根區(qū)域文件
/var/named/localhosts.zone dns服務器localhost 區(qū)域的正向文件 /var/named/named.local 127.0.0.0的反向解析文件
2. 修改/etc/named.conf
作用:建立區(qū)域,配置服務器的全局選項
文件內(nèi)容:
//說明語句
配置語句
...........
配置語句
..........
配置語句
..........
..........
,說明:常用的配置語名有以下幾種
(1) options 聲明
作用:定義DNS 服務器的全局選項
格式:options {
........;
........;
全局選項;
........;
........;
};
全局選項:
directory “路徑名”;
定義區(qū)域服務器區(qū)域文件的存放目錄
recursion yes/no;
是否使用遞歸查詢方式, 默認為yes
transfer-format one-answer/many-anser;
是否允許一條消息中放入多條應答信息, 默認值為one-answer
forwarders {ip地址; ??.};
定義轉(zhuǎn)發(fā)器
allow-query {ip地址;/網(wǎng)絡(luò)號;/any;};
定義允許向服務器發(fā)送查詢請求的客戶機地址 allow-transfer {ip地址;/網(wǎng)絡(luò)號;/any;};
定義允許從主服務器中更新的從服務器地址
listen-on [port 端口號] {ip地址;};
定義dns 服務綁定的端口和地址
(2) zone 聲明
作用:定義管理區(qū)域
格式:zone “域名” IN {
????;
????;
區(qū)域設(shè)置選項;
????;
????;
};
區(qū)域設(shè)置選項:
type master/hint/slave;
定義區(qū)域的類型,
master 表示一個區(qū)為主域名服務器
hint 說明一個區(qū)為啟動時初始化高速緩存的域名服務器
,slave 說明一個區(qū)為輔助域名服務器
file “文件名”;
說明一個區(qū)域的區(qū)域文件名稱
allow-update {none;/key 密鑰名稱;};
說明區(qū)域是否允許動態(tài)更新
masters {ip地址;}; 定義主服務器的地址
(3) key 聲明
作用:定義授權(quán)的安全密鑰
格式:key “密鑰名稱” {
????;
????;
密鑰設(shè)置選項;
????;
????;
};
密鑰設(shè)置選項:
algorithm hmac-md5;
定義密鑰加密算法
secret “密鑰”;
定義加密的密鑰
(4) include 語句
作用:將其他文件包含到本配置文件中
格式:include “路徑名”;
(5) controls 聲明
作用:定義rndc 命令使用的控制通道
格式:controls {
inet {ip地址} [port 端口號] allow {主機名;} keys {密鑰名稱;}
};
實例:
(1) 默認named.conf 文件內(nèi)容
options {
directory "/var/named";
// query-source address * port 53;
};
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
zone "." IN {
,type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
include "/etc/rndc.key";
(2) 根據(jù)以下要求修改/etc/named.conf
? 建立正向主區(qū)域abc.com, 區(qū)域文件名為abc.zone ? 建立反向主區(qū)域192.168.0.0, 區(qū)域文件名為192.rev
#vi /etc/named.conf
添加如下內(nèi)容:
zone “abc.com ” IN {
type master;
file “abc.zone ”;
};
zone “0.168.192.in-addr.arpa ” IN {
type master;
file “192.rev ”;
3.創(chuàng)建區(qū)域文件
作用:存放區(qū)域的信息記錄
格式:區(qū)域文件指令
[記錄名稱] [生存周期] IN 類型 值 說明:
(1)記錄名稱
記錄名稱根據(jù)記錄類型的不同可以下的值:
ip 地址
區(qū)域名
FQDN
@
空格
,@(區(qū)域名)
地址) ( (2)生存周期 設(shè)置記錄被解析后在緩存中保存的最長時間長度 (3)記錄類型 記錄用于決定記錄的格式及記錄的取值,具體可以分為以下幾種類型: A記錄 功能:用于設(shè)置主機IP地址 實例: www IN A 192.168.0.1 www.abc.com. IN A 192.168.0.l IN A 192.168.0.2 NS記錄 功能:設(shè)置區(qū)域的域名服務器地址 實例:abc.com. IN NS www.abc.com. IN NS 192.168.0.1 IN NS www.abc.com. CNAME 記錄 功能:設(shè)置主機的別名 實例:ftp IN CNAME www mail.abc.com. IN CNAME www mail.abc.com. IN CNAME www.abc.com. SOA 記錄 作用:設(shè)置區(qū)域的授權(quán)信息 實例: SOA @ (授權(quán)的主機名) root.abc.com.(管理員的mail
43 (序列號, 遞增量)
1D (輔助域名服務器多長時間更新數(shù)據(jù)庫)
15M (若輔助域名服務器更新數(shù)據(jù)失敗,多長時間再試)
2W (若輔助域名服務器無法從主服務器上更新數(shù)
據(jù),原有的數(shù)據(jù)何時失效)
86400 (設(shè)置生存周期,如果資源記錄欄未設(shè)定ttl ,
則以這里提供的時間為準)
)
MX 記錄
作用:設(shè)置區(qū)域的mail 服務器的地址
實例: linux.com. IN MX 10 www.linux.com . 注:
PTR
作用:將地址轉(zhuǎn)換為主機名
實例: 1 IN PTR www.abc.com.
1.0.168.192.in-addr.arpa IN PTR ftp.abc.com.
(4) 區(qū)域文件指令
$ORIGIN 區(qū)域名 IN
,設(shè)置管轄的默認區(qū)域
$TTL 數(shù)字
為沒有定義精確的生存周期的記錄定義缺省的TTL 值
$INCLUDE 文件的路徑
包含外部的配置文件
文件實例:
(1)根區(qū)域文件的例子
根區(qū)域文件主要用于定義互聯(lián)網(wǎng)中13臺根域服務器的位置, 其文件的內(nèi)容主要由A 記錄和NS 記錄構(gòu)成, 看下面的文件內(nèi)容:
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
. 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
. 3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
. 3600000 NS E.ROOT-SERVERS.NET. E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 . 3600000 NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
. 3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 . 3600000 NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
. 3600000 NS I.ROOT-SERVERS.NET. I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 . 3600000 NS J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10
. 3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129 . 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12 . 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33 (2)正向區(qū)域文件的例子
正向區(qū)域文件主要存放指定正向區(qū)域內(nèi)的信息記錄, 下面是localhost 正向區(qū)域的區(qū)域文件:
$TTL 86400
$ORIGIN localhost.
@ 1D IN SOA @ root (
42 ; serial (d. adams)
,3H 15M 1W 1D ) ; refresh ; retry ; expiry ; minimum IN NS @ 1D IN A 127.0.0.1
(3)反向區(qū)域文件的例子
反向區(qū)域文件負責存儲反向指針, 下面127.0.0.0反向區(qū)域的區(qū)域文件:
$TTL 86400
@ IN SOA localhost. root.localhost. ( 28800 Refresh
14400 ; Retry 86400 ) Minimum IN NS localhost.
1 IN PTR localhost.
(4)根據(jù)以下要求建立名為abc.zone 的區(qū)域文件
管轄區(qū)域名為abc.com, 并授權(quán)給本機, 管理員的mail 地址為root@abc.com 授權(quán)的序列號為48, 刷新時間為3小時, 重試時間為15分鐘, 默認TTL 為86400秒
? abc.com 區(qū)域的域名服務器的完整名稱為www.abc.com . ? 建立主機記錄
? 并且給abc.com 區(qū)域定義IP 地址為192.168.0.l
? 給建立別名記錄 ? 建立abc.com 區(qū)域的郵件服務器位置記錄指向 $TTL 86400
$ORIGIN abc.com.
@ 1D IN SOA @ Z_an_d@163.net(
48 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
1D IN NS www.abc.com.
1D IN A 192.168.0.1
,www IN A 192.168.0.1
ftp IN CNAME www
abc.com. IN MX 10 www.abc.com.
4.啟動服務
#service named start
三. DNS 客戶端的設(shè)置和測試方法
1.客戶端設(shè)置
(1)Linux 的客戶端的設(shè)置
#vi /etc/resolv.conf
添加以下選項:
nameserver DNS服務器的IP 地址
(2)Windows 客戶端設(shè)置
右擊”網(wǎng)絡(luò)鄰居”----雙擊”本地連接”-----屬性-----tcp-ip---輸入DNS 服務器的地址
2.測試方法
(1)Linux 的客戶端可的測試方法
方法一:nslookup
方法二:dig
方法三:host
(2)Windows 客戶端的測試方法
方法一:nslookup
四. 配置案例:
案例一:
要求:
利用bind 軟件將主機dns.linux.net 主機制作成一個dns 服務器, 具體要求如下:
(1) 該服務器負責正向區(qū)域linux.net 的解析,且ip 地址為192.168.3.1
(2) linux.net 區(qū)域的域名服務器為dns..linux.net, 且該主機名的ip 為
192.168.3.1
(3) 如果dns.linux.net 不能解析某個域名時,該DNS 服務器會轉(zhuǎn)發(fā)給
192.168.3.10
(4) 在linux.net 區(qū)域中分別建立記錄www 指向192.168.3.1,mail 主機指
向192.168.3.2
(5) linux.net 區(qū)域內(nèi)的mail 服務器為mail.linux.net
配置過程:
1.安裝軟件包