DNS(Domain name server,域名服務(wù)器)
是進行域名和與之對應(yīng)的IP地址轉(zhuǎn)換的服務(wù)器聪铺。
我們平時上網(wǎng)都是輸入主機名來訪問網(wǎng)站的,例如:www.baidu.com,這是一個主機名;
倆主機間通信要使用 IP+端口 的方式想帅,因為IP地址不容易被人記憶睁本,所以就使用方便人記憶的主機名尿庐,而電腦更容易接受IP地址的方式,所以我們就需要一個‘翻譯官’——域名服務(wù)器呢堰。它可以把IP轉(zhuǎn)換為主機名抄瑟,也可以將主機名轉(zhuǎn)換為IP地址;
早期枉疼,為了提供主機名與IP地址對應(yīng)的應(yīng)用皮假,在本地引入了一個hosts文件,里面記錄了每個主機名字和IP地址的對應(yīng)關(guān)系骂维;一個主機名還可以有多個別名惹资。
隨著互聯(lián)網(wǎng)內(nèi)的主機的增多,hosts文件也越來越大航闺,而且還要不斷更新褪测,這種方法就不適用了猴誊;
這時,DNS服務(wù)器應(yīng)運而生侮措;
DNS協(xié)議采用分層的倒置的樹狀結(jié)構(gòu)機制管理主機名懈叹,把大范圍分成多個小范圍。例如:你要申請一個域名baidu.con分扎,在這個域名范圍內(nèi)添加3個主機:
一個是www项阴,這個域名就是www.baidu.com;
一個主機作為bbs論壇使用笆包,這個域名就是bbs.baidu.com环揽;
一個主機作為blog博客使用,這個域名就是blog.baidu.com;
就是基于這種機制管理主機名的庵佣,因此歉胶,最頂級的叫根域.(點號)表示,即所有主機名都在根域下巴粪;
一級域:按照組織的類型的不同分為:
.com 表示商業(yè)機構(gòu)
.org 表示非盈利性組織
.gov 表示政府機構(gòu)
.mil 表示軍事機構(gòu)
.net 表示網(wǎng)絡(luò)服務(wù)機構(gòu)
.edu 表示教育機構(gòu)
.name 表示個人網(wǎng)站
.info 表示信息提供
DNS查詢類型:
遞歸查詢:本地客戶端向本地的DNS服務(wù)器查詢通今,只發(fā)出去一次請求,就給它返回答案肛根;就像你找人問路辫塌,那個人雖然不知道你的目的地,但他會問朋友或者別人派哲,直到問到答案人后交給你臼氨。
迭代查詢:要發(fā)出去多次請求,需要自己查詢不同的域名芭届,最后才返回答案储矩。再說上面問路的事,這次是你問A褂乍,A說B知道持隧,你去問B吧;你問B逃片,B說C知道屡拨,你問C去吧,就這樣褥实,直到你問出答案呀狼。
全球有13臺根服務(wù)器
域名空間:父域只知道自己直屬子域的地址,子域不知道父域的地址性锭,所有DNS都知道13臺根域的地址赠潦;
DNS服務(wù)器角色
主DNS:存放區(qū)域文件叫胖,管理域資源草冈;
輔DNS:沒有自己的區(qū)域文件,區(qū)域數(shù)據(jù)是從主DNS復(fù)制而來;
緩存服務(wù)器:(cache-only):提供高速緩存怎棱;
域資源類型
SOA:起始授權(quán)機構(gòu)哩俭,定義DNS區(qū)域中的權(quán)威服務(wù)器;
NS:定義DNS區(qū)域正在提供DNS服務(wù)的主機拳恋;
A記錄:主機記錄(正向區(qū)域)凡资;
PTR指針:反向記錄;
MX:郵件交換記錄谬运;
*:泛域名
CNAME:別名
DNS服務(wù)器端口
TCP:53(負責主/輔DNS數(shù)據(jù)復(fù)制)
UDP:53(負責DNS解析)
DNS主配置文件
options { #選項
listen-on port 53 { 192.168.100.136; }; #服務(wù)監(jiān)聽端口為53
listen-on-v6 port 53 { ::1; }; #服務(wù)監(jiān)聽端口為53(ipv6)
directory? ? ? "/var/named"; #區(qū)域數(shù)據(jù)文件存放的目錄
dump-file? ? ? "/var/named/data/cache_dump.db"; #解析過的內(nèi)容的緩存
statistics-file "/var/named/data/named_stats.txt"; #靜態(tài)緩存(一般不用)
memstatistics-file "/var/named/data/named_mem_stats.txt"; #靜態(tài)緩存(放內(nèi)存里的,一般不用)
allow-query? ? { localhost; }; #允許連接的客戶機
recursion yes; #遞歸查找
dnssec-enable yes; #DNS加密
dnssec-validation yes; #DNS加密高級算法
dnssec-lookaside auto; #DNS加密的相關(guān)東西
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key"; #加密用的key(私鑰公鑰的加密隙赁,很強)
};
logging { #日志
channel default_debug {
file "data/named.run"; #運行狀態(tài)文件
severity dynamic; #靜態(tài)服務(wù)器地址(根域)
};
};
zone "." IN { #根域解析
type hint;
file "named.ca"; #根域配置文件
};
include "/etc/named.rfc1912.zones"; #擴展配置文件(新開域名)
/etc/named.rfc1912.zones 文件分析
zone "localhost.localdomain" IN { #本地主機全名解析
type master; #類型為主域
file "named.localhost"; #域配置文件(文件存放在/var/named目錄中)
allow-update { none; }; #不允許客戶端更新
};
zone "localhost" IN { #本地主機名解析
type master;
file "named.localhost";
allow-update { none; };
};