一.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輔助域名服務器多長時間更新數據庫
1w ;1若輔助域名服務器無法從主服務器上更新數據,原有的數據何時失效
1D );1天即RR的ttl
1D IN NS rhl9.abc.com.
1D IN A 127.0.0.1
rhl9 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小時
1w ;1周
1D );1天
1D IN NS 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
rhl9 I N A 192.168.1.201
rhl9 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輔助域名服務器多長時間更新數據庫
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輔助域名服務器多長時間更新數據庫
1w ;1若輔助域名服務器無法從主服務器上更新數據,原有的數據何時失效
1D );1天即RR的ttl
1D IN NS rh9.osmond.jamond.net.
1D IN MX 5 rh9.osmond.jamond.net.
rh9 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輔助域名服務器多長時間更新數據庫
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