一
.DNS
簡介
1.IP
地址和主機名的轉換方法
主機名便於記憶
類
UNIX
中有
3
種技術來實現主機名到
IP
地址的轉換
host
解析:
主要指本地
/etc/host
例
192.168.88.57 [url]www.abc.com[/url] ping [url]www.abc.com[/url]
在一個大型網絡中
Hosts
文件較繁瑣而又複雜,在
DNS
中起備份做用
NIS,NetWork Information System
網絡信息服務系統,
NIS
將全部主機數據都保存在中央主機上,由中央主機將所需數據分配給全部的服務器,簡單數據庫適用於像局域網這樣的中型網絡
DNS
,
Domain Name system
它使用一種層次的樹型結構的分佈式數據庫來處理
Internet
上的主機和
IP
地址的轉換
2.DNS
的組成:
DNS
是基於
C/S
模型設計的,每一個服務器包含指向其餘域名服務器的信息,
DNS
包括
3
個部分
域名空間
:
標識一組主機並提供他的有關信息的樹結構的詳細說明,樹上的每個結點都有其控制下的主機的有關信息的數據庫
域名服務器
:
保持和維護域名空間中數據的程序,一個域名服務器擁有其控制範圍(區域)內的完整信息
解析器:解析器是簡單的程序或子程序庫,它從服務器中提取信息以得到對域名空間中主機的查詢,用於
DNS
客戶
3.
域名註冊
:
例
[url]www.bjxh.com[/url]
當子網需鏈接
Internet
而且須要由本身管理這個域時,
InterNIC
會把相應信息放進
.com
域的服務器上,使其傳播,
DNS
服務器週期性和其餘
DNS
服務器上的各類數據庫同步
,
並檢查其餘服務器上的新表項,一個新的域名大約會在
3~4
天完成傳播
二
.DNS
域名空間的分層結構
FQDN(Full Qualified Domain Name),
域名是層次的,位於右邊,左邊是主機名
,"
域
"
是
DNS
域名空間的基本單位
1.
根域
(Root Domain)
:全世界的
IP
地址和
DNS
域名空間都是由位於美國的
InterNIC
負責管理或進行受權管理,全世界共有
13
臺根域服務器,根域服務器中只保存着頂級域的
DNS
服務器和
IP
地址的對應數據,根域是默認的不須要表示出來
2.
頂級域
(top-level domain,TLD):
頂級域由
InterNIC
統一管理,數目有限且不能輕易變更
.
頂級域有兩種劃分:地理域和機構域
只包括頂級的服務器和
IP
地址負責解析頂級域的
IP
地址。
頂級域:
地理域:澳大利亞
.au
俄聯邦
.ru
法國
.fr
德國
.de
中國
.cn
加拿大
.ca
意大利
.jp
韓國
.kr
新加坡
.sg
英國
.uk
美國
.us
臺灣省
.tw
機構域:教育
.edu
商業
.com
軍事機構
.mil
政府機構
.gov
國際組織
.int
網絡組織
.net
1997
年又創建了
7
個頂級域,進一步劃分域名空間
firm store web arts rec info nom
3.
子域:除了根域和頂級域以外,其它域都稱爲子域
4.
反向域
(in-addr.arpa)
:
IP
解析爲相應的
FQDN
名,反向域中有一個根域
.in-addr-arpa
,使用一個
IP
地址的一個字節值來表明一個子域,根域下面可有
256
個子域,例
1.168.192.in-addr.arpa
5.
域的委任管理:
層次結構容許將整個管理任務分紅多份,分別由子域進行管理,維護屬於該子域的全部主機信息,並負責回答全部相關查詢,將
DNS
數據庫中屬於這些子域的信息放到各自的域名服務器
委託管理的優勢:
1.
能夠起到負載均衡的功能
2.
提升子域名服務器的響應
3.
提升帶寬的利用率
6.DNS
區域
(zone):
區域是
DNS
服務器管轄範圍,由單個域或具備上下隸屬關係的緊密相鄰的多個子域組成的一個管理單位,即由連續的域構成
一臺
DNS
服務器能夠管理一個或多個區域,而一個區域也能夠有多臺
DNS
服務器來管理
三
.DNS
域名服務器的類型:
1
、域名服務器:保存域名空間信息
2
、高速緩存服務器:提升網絡帶寬利用率
3
、主服務器:
權威的信息
4
:輔助服務器:能夠從主服務器中複製一整套域信息,配置輔助域名服務器不須要生成本地區文件,能夠從主服務器中下載該區文件。
四
.DNS
域名解析過程
1.DNS
查詢模式
:
遞歸查詢
(Recursive Query)
迭代查詢
(Iterative Query)
五
.Linux
下的
DNS
服務器配置
1.
服務器:
named
客戶端:
resolver
3.
啓動域名服務器
#service named start
#service named restart
從新啓動
bind
服務
#pstree|grep named
#rndc status
查看域名服務器的運行狀態
#rndc reload
從新裝載配置文件
4.
域名服務器的配置語法
域名服務器配置文件族
主配置文件
/etc/named.conf
設置通常的
named
參數,指向該服務器使用的域數據庫的信息源
根域名服務器指向文件
/var/named/named.ca
指向根域名服務器,用於唯高速緩存服務器的初始配置
localhost
區文件
/var/name/localhost.zone
用於將名字
localhost
轉換爲本地回送
IP
地址
127.0.0.1
轉換爲名字
localhost
用戶配置的區文件
/var/named/name2ip.conf
將主機名映射爲IP地址的區文件
/var/named/ip2name.conf
將
IP
地址映射爲主機名的區文件
5.
主配置文件
named.conf
配置語句
/etc/named.conf
#cat /etc/named.conf
options{
dierectory "/var/named";
定義服務器區配置文件的工做目錄
};
#
定義
rndc
命令使用的控制通道
controls{
inet 127.0.0.1 allow{localhost;}keys{rndckey;};
};
#
定義根區聲明
zone "." IN{
type hint;
file "named.ca"
allow-update{none;};
};
#
定義
localhost
反向解析區聲明
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local"
allow-update {none;};
};
include "/etc/rndc.key"
6.
查看根域指向區文件
#grep -v ";" /var/named/named.ca
7.
查看本地域區文件
cat /var/named/localhost.zone
$TTL 86400
定義
RR
默認使用的
TTL=86400s=1
天
$ORIGIN abc.com.
設置管轄源爲
abc.com.
@ 1D IN SOA rhl9.abc.com. root.abc.com.(
42 ;serial
本區信息文件的版本號
3H ;3
小時,
Refresh
輔助域名服務器多長時間更新數據庫
15M
;15
分鐘若輔助域名服務器更新數據失敗,多長時間再試
1w ;1
若輔助域名服務器沒法從主服務器上更新數據,原有的數據什麼時候失效
1D );1
天即
RR
的
ttl
1D IN NS rhl9.abc.com.
1D IN A 127.0.0.1
rhl
9
IN A 192.168.1.57
www IN CNAME rhl9.abc.com.
abc.com
的反向解析文件
$TTL 86400
定義
RR
默認使用的
TTL=86400s=1
天
$ORIGIN abc.com.
設置管轄源爲
abc.com.
@ 1D IN SOA rhl9.abc.com. root.abc.com.(
42 ;serial
3H ;3
小時
15M
;15
分鐘
1w ;1
周
1D );1
天
1D IN NS rhl9.abc.com.
1
I
N PTR rhl9.abc.com.
#service named restart
#rndc reload
8.
資源記錄
:
RR
中的字段
name
域對象名
ttl
壽命字段
,
它以
s
爲單位定義該資源記錄中的信息存放在高速緩存中的時間長度
IN
將該記錄標識爲一個
InternetDNS
資源記錄
type(A IP address
用於將主機名轉換
IP
地址,任何一個主機都只能有一個
A
記錄
CNAME Canonical
給定主機的別名,主機的規範名在
A
記錄中給出
HINFO Hardware
機器硬件名
|Os-type
操做系統名,描述主機的信息
MX,Mail Mailer-exchanger
郵件服務器名字,
eXchanger
郵件交換記錄,告訴郵件進程把郵件發送到另外一個系統
NS Name-server
域名服務器的名字
,
標識一個域的域名服務器
PTR Real-name
主機的真實域名,將地址轉換爲主機名
SOA
標識服務器所管理的起始地方,
SOA
記錄後的全部信息是控制這個域的
)
10.
配置
DNS
做簡單負載均衡:利用
DNS
輪詢的方法
,
經過對單個
FQDN
設置多個
IP
地址實現的,例如
HTTP
服務器
rhl9.abc.com
有
2
個主機,其
IP
地址分別是
192.168.1.201
和
192.168.1.202
,客戶首次對查詢
rhl9.abc.com
的地址是
192.168.1.201
,對此主機進行訪問,第二次查詢是的
IP
地址是
192.168.1.202
,故對
192.168.1.202
主機進行訪問
.
從而實現了負載均衡
vi /etc/named/abc.com.hosts
rhl
9
I
N A 192.168.1.201
rhl
9
I
N A 192.168.1.202
#rndc reload
#host rhl9.abc.com
11.
配置輔助域名服務器
:
在要配置輔助域名服務器的
Linux
計算機上對主配置文件配置同名區域,注意指定輔助域名服務器的類型
slave,
區數據庫文件將從主域名服務器自動得到
,
例
zone "abc.com"{
type slave;
file "abc.com.hosts";
masters{192.168.1.57;};
};
添加反向解析
zone "1.168.192.in-addr.arpa"{
type slave;
file "192.168.1.rev";
masters {192.168.1.57};
};
#service named restart
#ifconfig eth0|grep inet
12.
配置域轉發
:
當
DNS
客戶端向指定的
DNS
服務器要求進行域名解析時,若此域名服務器沒法解析
,
它將用緩存中的信息幫助定位能解析的其餘服務器,一般僅僅找到一個根域服務器,若不但願直接定位到根域服務器,能夠設置域名轉發器
(Forwarder),
配置了域名轉發清單的域名服務器會把不能直接從本身緩存響應的請求發送給轉發器中定義的服務器,能夠減小廣域網中的通訊量,實現需修改配置文件
/etc/named.conf
options (
forwarders{202.106.192.115;202.106.196.152
;
}
;
)
13.
區域委派
能夠將名稱空間分割一個或多個區域的功能,可將這些區域存儲、分配和複製到其餘
DNS
服務器,父域對子域的
DNS
服務器進行委派
.
在父域的
DNS
服務器的正向解析文件中執行的步驟
定義子域的名稱
命名負責該子域的
DNS
服務器
定義子域的
DNS
服務器的
IP
地址
可是,反向解析文件的配置相對複雜
將
IP
地址看做
4
個獨立的字節
將
IP
地址看做
32
位二進制數
例
:
基於字節界限的委派
域名
域中主機所在的網段
域名服務器
FQDN
域名服務器
IP
主域
jamond.net 192.168.1.0 shrike.jamond.net 192.168.1.200
子域
osmond.jamond.net 192.168.11.0 rh9.osmond.jamond.net 192.168.11.200
shrike.jamond.net /etc/named.conf
#vi /etc/named.conf
zone "168.192.in-addr.arpa"{
type master;
file "192.168.rev";
};
#vi /var/named/jamond.net.hosts
$TTL 86400
定義
RR
默認使用的
TTL=86400s=1
天
$ORIGIN abc.com.
設置管轄源爲
abc.com.
@ 1D IN SOA shrike.jamond.net. root.jamond.net.(
42 ;serial
本區信息文件的版本號
3H ;3
小時,
Refresh
輔助域名服務器多長時間更新數據庫
15M
;15
分鐘若輔助域名服務器更新數據失敗,多長時間再試
1w ;1
若輔助域名服務器沒法從主服務器上更新數據,原有的數據什麼時候失效
1D );1
天即
RR
的
ttl
1D IN NS shrike.jamond.net.
1D IN MX 5 shrike.jamond.net.
shrike IN A 192.168.1.200
osmond IN NS rh9.osmond.jamond.net.
設置
osmond.jamond.net
域的域名服務器
rh9.osmond IN A 192.168.11.200
#rndc reload
配置基於字節界限的委派的子域的主域名服務器
zone "osmond.jamond.net"{
type master;
file "osmond.jamond.net.hosts";
};
zone "11.168.192.in-addr-arpa"{
type master;
file "192.168.11.rev";
};
#vi /var/named/osmond.jamond.net.hosts
$TTL 86400
定義
RR
默認使用的
TTL=86400s=1
天
$ORIGIN abc.com.
設置管轄源爲
abc.com.
@ 1D IN SOA rh9.osmond.jamond.net. root.osmond.jamond.net.(
42 ;serial
本區信息文件的版本號
3H ;3
小時,
Refresh
輔助域名服務器多長時間更新數據庫
15M
;15
分鐘若輔助域名服務器更新數據失敗,多長時間再試
1w ;1
若輔助域名服務器沒法從主服務器上更新數據,原有的數據什麼時候失效
1D );1
天即
RR
的
ttl
1D IN NS rh9.osmond.jamond.net.
1D IN MX 5 rh9.osmond.jamond.net.
rh
9
IN A 192.168.11.200
$TTL 86400
定義
RR
默認使用的
TTL=86400s=1
天
$ORIGIN abc.com.
設置管轄源爲
abc.com.
@ 1D IN SOA shrike.jamond.net. root.jamond.net.(
42 ;serial
本區信息文件的版本號
3H ;3
小時,
Refresh
輔助域名服務器多長時間更新數據庫
15M
;15
分鐘若輔助域名服務器更新數據失敗,多長時間再試
1w ;1
若輔助域名服務器沒法從主服務器上更新數據,原有的數據什麼時候失效
1D );1
天即
RR
的
ttl
1D IN NS shrike.jamond.net.
1D IN MX 5 shrike.jamond.net.
shrike IN A 192.168.1.200
osmond IN NS rh9.osmond.jamond.net.
設置
osmond.jamond.net
域的域名服務器
rh9.osmond IN A 192.168.11.200
14.DNS
客戶端
:domain abc.com(
對於
2000
而言即附加
DNS
後綴
) nameserver 192.168.2.57