DNS服務(wù)器原理及搭建
DNS學(xué)習(xí)一個(gè)服務(wù)的過程:1、 此服務(wù)器的概述:名字,功能,特點(diǎn),端口號2、 安裝3、 配置文件的位置4、 服務(wù)啟動關(guān)閉腳本,查看端口5、 此服務(wù)的使用方法6、 修改配置文件,實(shí)戰(zhàn)舉例7、 排錯(cuò)(從下
DNS
學(xué)習(xí)一個(gè)服務(wù)的過程:
1、 此服務(wù)器的概述:名字,功能,特點(diǎn),端口號
2、 安裝
3、 配置文件的位置
4、 服務(wù)啟動關(guān)閉腳本,查看端口
5、 此服務(wù)的使用方法
6、 修改配置文件,實(shí)戰(zhàn)舉例
7、 排錯(cuò)(從下到上,從內(nèi)到外)
本節(jié)所講內(nèi)容:
?
?
?
?
?
DNS 服務(wù)概述:
DNS (Domain Name System)域名服務(wù)或者域名服務(wù)器,在TCP/IP 網(wǎng)絡(luò)中有非常重要的地位,能夠提供域名與IP 地址的解析服務(wù)。
www.baidu.com
DNS:域名解析服務(wù),這是一個(gè)基礎(chǔ)性的服務(wù),他是互聯(lián)網(wǎng)的基礎(chǔ)。目前來講DNS 的核心包括DNS 的標(biāo)準(zhǔn)都是基于一個(gè)軟件來構(gòu)建的,這個(gè)軟件叫BIND.
要講http 服務(wù),這個(gè)是重點(diǎn)。apche ,lamp nginx(enginx) ,lnmp(lemp)
selinux : security enhanced linux
A
C2 linux windows
www .baidu.com (主機(jī)名,F(xiàn)QDN full qualified domain name 完全限定域名)
DNS 是一個(gè)分布式數(shù)據(jù)庫,命名系統(tǒng)采用層次的邏輯結(jié)構(gòu),如同一棵倒置的樹,這個(gè)邏輯的樹形結(jié)構(gòu)稱為域名空間,由于DNS 劃分了域名空間,所以各機(jī)構(gòu)可以使用自己的域名空間創(chuàng)建DNS 信息。 注:DNS 域名空間中,樹的最大深度不得超過127 層,樹中每個(gè)節(jié)點(diǎn)最長可以存儲63 個(gè)字符。
1)域和域名*.baidu.com
DNS 樹的每個(gè)節(jié)點(diǎn)代表一個(gè)域,通過這些節(jié)點(diǎn),對整個(gè)域名空間進(jìn)行劃分,成為一個(gè)層次結(jié)構(gòu)。 域名空間的每個(gè)域的名字,通過域名進(jìn)行表示。 DNS 服務(wù)器常見概念 DNS 服務(wù)器安裝及相關(guān)配置文件 實(shí)戰(zhàn):為公司內(nèi)網(wǎng)搭建一個(gè)DNS 服務(wù)器 DNS 服務(wù)端:xuegod63.cn IP:192.168.1.63 DNS 客戶端:xuegod64.cn IP:192.168.1.64
,域名:通常由一個(gè)完全合格域名(FQDN )標(biāo)識。FQDN 能準(zhǔn)確表示出其相對于DNS 域樹根的位置,也就是節(jié)點(diǎn)到DNS 樹根的完整表述方式,從節(jié)點(diǎn)到樹根采用反向書寫,并將每個(gè)節(jié)點(diǎn)用“. ”分隔,對于DNS 域google 來說,其完全正式域名(FQDN )
為google.com.
www.google.com. mail.google.com.
注意:通常,F(xiàn)QDN 有嚴(yán)格的命名限制,長度不能超過256 字節(jié),只允許使用字符a-z,0-9,A-Z 和減號(-)。點(diǎn)號(. )只允許在域名標(biāo)志之間(例如“google.com ”)或者FQDN 的結(jié)尾使用。 域名不區(qū)分大小。
由最頂層到下層,可以分成:根域、頂級域、二級域、子域。
TLD:頂級域
組織域:。com.org .net .cc
國家域:.cn .tw .hk .iq .ir .jp
Internet 域名空間的最頂層是根域(root ),其記錄著Internet 的重要DNS 信息,由Internet 域名注冊授權(quán)機(jī)構(gòu)管理,該機(jī)構(gòu)把域名空間各部分的管理責(zé)任分配給連接到Internet 的各個(gè)組織。
萬網(wǎng)和新網(wǎng) 成本也不是太多
防火墻
DNS 根域下面是頂級域,也由Internet 域名注冊授權(quán)機(jī)構(gòu)管理。共有3 種類型的頂級域。
組織域:采用3 個(gè)字符的代號,表示DNS 域中所包含的組織的主要功能或活動。比如com 為商業(yè)機(jī)構(gòu)組織,edu 為教育機(jī)構(gòu)組織,gov 為政府機(jī)構(gòu)組織,mil 為軍事機(jī)構(gòu)組織,net 為網(wǎng)絡(luò)機(jī)構(gòu)組
織,org 為非營利機(jī)構(gòu)組織,int 為國際機(jī)構(gòu)組織。
地址域:采用兩個(gè)字符的國家或地區(qū)代號。如cn 為中國,kr 為韓國,us 為美國。
反向域:這是個(gè)特殊域,名字為in-addr.arpa ,用于將IP 地址映射到名字(反向查詢)。
對于頂級域的下級域,Internet 域名注冊授權(quán)機(jī)構(gòu)授權(quán)給Internet 的各種組織。當(dāng)一個(gè)組織獲得了對域名空間某一部分的授權(quán)后,該組織就負(fù)責(zé)命名所分配的域及其子域,包括域中的計(jì)算機(jī)和其他設(shè)備,并管理分配的域中主機(jī)名與IP 地址的映射信息。
2、區(qū)(Zone)
區(qū)是DNS 名稱空間的一部分,其包含了一組存儲在DNS 服務(wù)器上的資源記錄。
使用區(qū)的概念,DNS 服務(wù)器回答關(guān)于自己區(qū)中主機(jī)的查詢,每個(gè)區(qū)都有自己的授權(quán)服務(wù)器。
3、主域名服務(wù)器與輔助域名服務(wù)器
當(dāng)區(qū)的輔助服務(wù)器啟動時(shí),它與該區(qū)的主控服務(wù)器進(jìn)行連接并啟動一次區(qū)傳輸,區(qū)輔助服務(wù)器定期與區(qū)主
,控服務(wù)器通信,查看區(qū)數(shù)據(jù)是否改變。如果改變了,它就啟動一次數(shù)據(jù)更新傳輸。
輔助服務(wù)器的優(yōu)點(diǎn):
1)容錯(cuò)能力
配置輔助服務(wù)器后,在該區(qū)主服務(wù)器崩潰的情況下,客戶機(jī)仍能解析該區(qū)的名稱。一般把區(qū)的主 服務(wù)器和區(qū)的輔助服務(wù)器安裝在不同子網(wǎng)上,這樣如果到一個(gè)子網(wǎng)的連接中斷,DNS 客戶機(jī)還能 直接查詢另一個(gè)子網(wǎng)上的名稱服務(wù)器。
2)減少廣域鏈路的通信量
如果某個(gè)區(qū)在遠(yuǎn)程有大量客戶機(jī),用戶就可以在遠(yuǎn)程添加該區(qū)的輔助服務(wù)器,并把遠(yuǎn)程的客戶機(jī) 配置成先查詢這些服務(wù)器,這樣就能防止遠(yuǎn)程客戶機(jī)通過慢速鏈路通信來進(jìn)行DNS 查詢。
3)減輕主服務(wù)器的負(fù)載
輔助服務(wù)器能回答該區(qū)的查詢,從而減少該區(qū)主服務(wù)器必須回答的查詢數(shù)。
1)DNS 相關(guān)概念
(1)DNS 服務(wù)器
運(yùn)行DNS 服務(wù)器程序的計(jì)算機(jī),儲存DNS 數(shù)據(jù)庫信息。DNS 服務(wù)器會嘗試解析客戶機(jī)的查詢請求。 在解答查詢時(shí),如果DNS 服務(wù)器能提供所請求的信息,就直接回應(yīng)解析結(jié)果,如果該DNS 服務(wù)器 沒有相應(yīng)的域名信息,則為客戶機(jī)提供另一個(gè)能幫助解析查詢的服務(wù)器地址,如果以上兩種方法 均失敗,則回應(yīng)客戶機(jī)沒有所請求的信息或請求的信息不存在。
(2)DNS 緩存
DNS 服務(wù)器在解析客戶機(jī)請求時(shí),如果本地沒有該DNS 信息,則可以會詢問其他DNS 服務(wù)器,當(dāng) 其他域名服務(wù)器返回查詢結(jié)果時(shí),該DNS 服務(wù)器會將結(jié)果記錄在本地的緩存中,成為DNS 緩存。 當(dāng)下一次客戶機(jī)提交相同請求時(shí),DNS 服務(wù)器能夠直接使用緩存中的DNS 信息進(jìn)行解析。
2)DNS 查詢方式: 遞歸查詢和迭代查詢
接受本地客戶端查詢請求(遞歸)
,兩種查詢方式:
(1)遞歸查詢 一次性溝通完
遞歸查詢是一種DNS 服務(wù)器的查詢模式,在該模式下DNS 服務(wù)器接收到客戶機(jī)請求,必須使用一 個(gè)準(zhǔn)確的查詢結(jié)果回復(fù)客戶機(jī)。如果DNS 服務(wù)器本地沒有存儲查詢DNS 信息,那么該服務(wù)器會詢 問其他服務(wù)器,并將返回的查詢結(jié)果提交給客戶機(jī)。
(2)迭代查詢
DNS 服務(wù)器另外一種查詢方式為迭代查詢,當(dāng)客戶機(jī)發(fā)送查詢請求時(shí),DNS 服務(wù)器并不直接回復(fù)查詢結(jié)果,而是告訴客戶機(jī)另一臺DNS 服務(wù)器地址,客戶機(jī)再向這臺DNS 服務(wù)器提交請求,依次循環(huán)直到返回查詢的結(jié)果為止。
7 正向解析與反向解析
1)正向解析
正向解析是指域名到IP 地址的解析過程。
2)反向解析
反向解析是從IP 地址到域名的解析過程。反向解析的作用為服務(wù)器的身份驗(yàn)證
DNS 資源記錄
1)SOA 資源記錄
每個(gè)區(qū)在區(qū)的開始處都包含了一個(gè)起始授權(quán)記錄(Start of Authority Record), 簡稱SOA 記錄。 SOA 定義了域的全局參數(shù),進(jìn)行整個(gè)域的管理設(shè)置。一個(gè)區(qū)域文件只允許存在唯一的SOA 記錄。
2)NS 資源記錄
NS (Name Server)記錄是域名服務(wù)器記錄,用來指定該域名由哪個(gè)DNS 服務(wù)器來進(jìn)行解析。每個(gè)區(qū)在區(qū)根處至少包含一個(gè)NS 記錄
3)A 資源記錄
地址(A )資源記錄把FQDN 映射到IP 地址。 因?yàn)橛写擞涗?,所以DNS 服務(wù)器能解析FQDN 域名對應(yīng)的IP 地址。
4)PTR 資源記錄
相對于A 資源記錄,指針(PTR )記錄把IP 地址映射到FQDN 。 用于反向查詢,通過IP 地址,找到域名。
5)CNAME 資源記錄
別名記錄(CNAME )資源記錄創(chuàng)建特定FQDN 的別名。用戶可以使用CNAME 記錄來隱藏用戶網(wǎng)絡(luò)的實(shí)現(xiàn)細(xì)節(jié),使連接的客戶機(jī)無法知道真正的域名。
6)MX 資源記錄
郵件交換(MX )資源記錄,為DNS 域名指定郵件交換服務(wù)器。
郵件交換服務(wù)器是為DNS 域名處理或轉(zhuǎn)發(fā)郵件的主機(jī)。處理郵件指把郵件投遞到目的地或轉(zhuǎn)交另一不同類型的郵件傳送者。轉(zhuǎn)發(fā)郵件指把郵件發(fā)送到最終目的服務(wù)器,用簡單郵件傳輸協(xié)議SMTP 把郵件發(fā)送給離最終目的地最近的郵件交換服務(wù)器,或使郵件經(jīng)過一定時(shí)間的排隊(duì)。
模式: C/S 模式 2、端口
[root@xuegod64 ~]# vim /etc/services
端口:
tcp/53 udp/53 #用于客戶端查詢
tcp/953 udp/953 #用于DNS 主從同步
安裝DNS :BIND
BIND 簡介
BIND 全稱為Berkeley Internet Name Domain(伯克利因特網(wǎng)名稱域系統(tǒng)) 。
[root@xuegod63 ~]# rpm -ivh /mnt/Packages/bind-9.7.3-8.P3.el6.x86_64.rpm #該包為DNS 服務(wù)的主程序包。
[root@xuegod63 Packages]# rpm -ivh bind-chroot-9.7.3-8.P3.el6.x86_64.rpm # 提高安全性。 #bind-chroot是bind 的一個(gè)功能, 使bind 可以在一個(gè)chroot 的模式下運(yùn)行. 也就是說,bind 運(yùn)行時(shí)的/(根) 目錄, 并不是系統(tǒng)真正的/(根) 目錄, 只是系統(tǒng)中的一個(gè)子目錄而已. 這樣做的目的是為了提高安全性. 因?yàn)樵赾hroot 的模式下,bind 可以訪問的范圍僅限于這個(gè)子目錄的范圍里, 無法進(jìn)一步提升, 進(jìn)入到系統(tǒng)的其他目錄中.
[root@xuegod63 Packages]# rpm -ivh bind-utils-9.7.3-8.P3.el6.x86_64.rpm #該包為客戶端 工具,默認(rèn)安裝,用于搜索域名指令。
DNS 服務(wù)器相關(guān)配置文件:
,root@xuegod63 Packages]# ls /etc/named.conf
/etc/named.conf
named.conf 是BIND 的核心配置文件,它包含了BIND 的基本配置,但其并不包括區(qū)域數(shù)據(jù)。 zone.file 3、啟動服務(wù)
//要先啟動named 服務(wù),否則/var/named/chroot/目錄下的文件不會被掛載上。這個(gè)和RHEL5是不一樣的。net
[root@xuegod63 Packages]# ls /var/named/chroot/
[root@xuegod63 Packages]# /etc/init.d/named restart
Stopping named: [ OK ]
Starting named: [ OK ]
[root@xuegod63 Packages]# netstat -antup | grep 53
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 11135/named tcp 0 0 ::1:53 :::* LISTEN 11135/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 11135/named
[root@xuegod63 Packages]# mount
/etc/named on /var/named/chroot/etc/named type none (rw,bind)
/var/named on /var/named/chroot/var/named type none (rw,bind)
/etc/named.conf on /var/named/chroot/etc/named.conf type none (rw,bind)
/etc/named.rfc1912.zones on /var/named/chroot/etc/named.rfc1912.zones type none (rw,bind)
/usr/lib64/bind on /var/named/chroot/usr/lib64/bind type none (rw,bind)
/etc/named.iscdlv.key on /var/named/chroot/etc/named.iscdlv.key type none (rw,bind) /etc/named.root.key on /var/named/chroot/etc/named.root.key type none (rw,bind) 例1:配置DNS 服務(wù)器解析: xuegod.cn充當(dāng)服務(wù)端
整體分
3段
options :對全局生效
zone : 針對某個(gè)區(qū)域生效
,type 字段指定區(qū)域的類型,對于區(qū)域的管理至關(guān)重要,一共分為六種:
Master :主DNS 服務(wù)器:擁有區(qū)域數(shù)據(jù)文件,并對此區(qū)域提供管理數(shù)據(jù)
Slave :輔助DNS 服務(wù)器:擁有主DNS 服務(wù)器的區(qū)域數(shù)據(jù)文件的副本,輔助DNS 服務(wù)器會從主DNS 服務(wù)器同步所有區(qū)域數(shù)據(jù)。
Stub :stub 區(qū)域和slave 類似,但其只復(fù)制主DNS 服務(wù)器上的NS 記錄而不像輔助DNS 服務(wù)器會復(fù)制所有區(qū)域數(shù)據(jù)。
Forward :一個(gè)forward zone 是每個(gè)域的配置轉(zhuǎn)發(fā)的主要部分。一個(gè)zone 語句中的type forward可以包括一個(gè)forward 和/或forwarders 子句,它會在區(qū)域名稱給定的域中查詢。如果沒有forwarders 語句或者forwarders 是空表,那么這個(gè)域就不會有轉(zhuǎn)發(fā),消除了options 語句中有關(guān)轉(zhuǎn)發(fā)的配置。 Hint :根域名服務(wù)器的初始化組指定使用線索區(qū)域hint zone,當(dāng)服務(wù)器啟動時(shí),它使用根線索 來查找根域名服務(wù)器,并找到最近的根域名服務(wù)器列表。
配置正向解析區(qū)域
授權(quán)DNS 服務(wù)器管理xuegod.cn 區(qū)域,并把該區(qū)域的區(qū)域文件命名為xuegod.cn
3、修改配置文件:
[root@localhost etc]# vim /var/named/chroot/etc/named.conf
[root@xuegod63 ~]# cat /var/named/chroot/etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
listen-on port 53 { any; }; listen-on-v6 port 53 { any ; }; directory dump-file "/var/named"; "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; }; //允許查詢 recursion yes; //默認(rèn)支持遞歸查詢
,};
dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key";
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
};
zone "xuegod.cn" IN {
type master;
file "xuegod.cn.zone";
};
3、創(chuàng)建zone 文件
[root@localhost chroot]# cd /var/named/chroot/var/named/
[root@xuegod63 named]# cp -r named.localhost xuegod.cn.zone 要加-p 注意權(quán)限。 type hint; file "named.ca";
配置文件參數(shù)說明:
$TTL 1D ;設(shè)置有效地址解析記錄的默認(rèn)緩存時(shí)間,默認(rèn)為1天也就是1D 。
#設(shè)置SOA 記錄為:dns.xuegod.cn. #在此配置文件中寫域名時(shí),都把根. 也要寫上。
#域管理郵箱root.xuegod.cn ,由于@有其他含義,所以用“. ”代替@。 0 ;更新序列號,用于標(biāo)示數(shù)據(jù)庫的變換,可以在10位以內(nèi),如果存在輔助DNS 區(qū)域, 建議每次更新完數(shù)據(jù)庫,手動加1.
1D ;刷新時(shí)間,從域名服務(wù)器更新該地址數(shù)據(jù)庫文件的間隔時(shí)間,默認(rèn)為1天
1H ;重試延時(shí),從域名服務(wù)器更新地址數(shù)據(jù)庫失敗以后,等待多長時(shí)間,默認(rèn)為為1小時(shí)
1W ; 到期,失效時(shí)間,超過該時(shí)間仍無法更新地址數(shù)據(jù)庫,則不再嘗試,默認(rèn)為一周
3H ;設(shè)置無效地址解析記錄(該數(shù)據(jù)庫中不存在的地址)默認(rèn)緩存時(shí)間。設(shè)置無效記錄,最少緩存時(shí)間為3
小時(shí)
NS @ ;域名服務(wù)器記錄,用于設(shè)置當(dāng)前域的DNS 服務(wù)器的域名地址,
A 127.0.0.1 ; 設(shè)置域名服務(wù)器的A 記錄,地址為ipv4的地址127.0.0.1,可以設(shè)置成
192.168.100.102
AAAA ::1 ; 設(shè)置域名服務(wù)器的A 記錄,地址為ipv6的地址。
資源記錄參數(shù)詳解:
1)CNAME 資源記錄
別名(CNAME )資源記錄用于為某個(gè)主機(jī)指定一個(gè)別名
CNAME 資源記錄語法格式:
別名 CNAME 主機(jī)名
www1.shen.com. CNAME www.shen.com.
2)MX 資源記錄
MX (郵件交換器)資源記錄提供郵件傳遞信息。該記錄會指定區(qū)域內(nèi)的郵件服務(wù)器名稱。
MX 資源記錄語法格式:
mail.xuegod.cn
,3)PTR 資源記錄
指針(PTR )資源記錄。該記錄與A 記錄相反,用于查詢IP 地址與主機(jī)名的對應(yīng)關(guān)系。 PTR 資源記錄語法格式:
重啟DNS 服務(wù)器:
[root@xuegod63 named]# service named restart
Stopping named: .umount: /var/named/chroot/var/named: device is busy. (In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
[ OK ]
Starting named: [ OK ]
[root@xuegod63 named]# cd
[root@xuegod63 ~]# service named restart
Stopping named: . [ OK ]
Starting named: [ OK ]
4、修改DNS 地址
[root@localhost named]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
HWADDR="00:0C:29:A7:3D:8D"
NM_CONTROLLED="yes"
ONBOOT="yes"
IPADDR=192.168.3.248
NETMASK=255.255.255.0
GATEWAY=192.168.3.1