Linux配置 DNS and BIND服务配置详解--缓存服务器配置 正反向解析配置
一、DNS簡(jiǎn)介
一、DNS簡(jiǎn)介????
????DNS是計(jì)算機(jī)域名系統(tǒng) (Domain Name System 或Domain Name Service) 的縮寫,它是由域名解析器和域名服務(wù)器組成的。域名服務(wù)器是指保存有該網(wǎng)絡(luò)中所有主機(jī)的域名和對(duì)應(yīng)IP地址,并具有將域名轉(zhuǎn)換為IP地址功能的服務(wù)器。其中域名必須對(duì)應(yīng)一個(gè)IP地址,一個(gè)域名可以有多個(gè)IP地址,而IP地址不一定有域名。域名系統(tǒng)采用類似目錄樹的等級(jí)結(jié)構(gòu)。域名服務(wù)器為客戶機(jī)/服務(wù)器模式中的服務(wù)器方,它主要有兩種形式:主服務(wù)器和轉(zhuǎn)發(fā)服務(wù)器。將域名映射為IP地址的過(guò)程就稱為“域名解析”。
1. DNS解析分正向解析和反向解析
正向解析:
????????正向解析是指域名到ip地址的解析過(guò)程。
反向解析
?????????反向解析是指Ip地址到域名的解析過(guò)程。
2.?DNS查詢:分遞歸查詢和迭代查詢
????????遞歸查詢: 即客戶端向本地DNS服務(wù)器請(qǐng)求查詢域名,本地DNS服務(wù)器收到查詢?nèi)蝿?wù)后如自身無(wú)法回答則向其他服務(wù)器查詢,直到查到結(jié)果后返回結(jié)果給客戶端。期間DNS服務(wù)器可能要查詢很多其他DNS服務(wù)器。
????????迭代查詢:即客戶端向本地服務(wù)器請(qǐng)求查詢域名,本地DNS服務(wù)器無(wú)法回答,則給客戶端返回另一個(gè)能查詢域名的服務(wù)器地址,客戶端再向另一服務(wù)器查詢,期間可能客戶端需查詢多個(gè)DNS服務(wù)器,最終查到結(jié)果。
3. 主從DNS服務(wù)器:
?????????主DNS服務(wù)器(Master DNS): 數(shù)據(jù)庫(kù)的修改更新;
???????? 輔助DNS服務(wù)器 (SlaveDNS):請(qǐng)求主DNS服務(wù)器的數(shù)據(jù)同步更新;
???????? 緩存DNS服務(wù)器:它主要用來(lái)緩存查詢的地址信息,而不用承擔(dān)任何其他的工作。它沒(méi)有區(qū)域文件,也不從其他DNS服務(wù)器傳輸數(shù)據(jù)。它能響應(yīng)客戶機(jī)的查詢,但是沒(méi)有授權(quán)。
4. 資源記錄類型
????????1>.SOA記錄:SOA名叫起始授權(quán)機(jī)構(gòu)記錄,用于說(shuō)明負(fù)責(zé)解析的DNS服務(wù)器中哪一個(gè)是主服務(wù)器。
????????2>.NS(NAME SERVER):名稱服務(wù)器記錄,用于說(shuō)明這個(gè)區(qū)域由哪些DNS服務(wù)器負(fù)責(zé)解析,NS和A記錄是成對(duì)出現(xiàn)? ?如:
?NAME??????????????????TTL?????????IN????????RPT?????????????VALUE??? 51yunxuexi.club.???????400?????????IN????????NS???????????ns.51yunxuexi.club. ns.51yunxuexi.club.????400?????????IN????????A???????????????1.1.1.1????????3>.A記錄(address):地址A記錄把FQND(域名)解析到IPv4地址,把主機(jī)名解析到IPv4地址,正向解析
????????4>.AAAA記錄(address):AAAA資源記錄把FQDN解析到IPv6地址,把主機(jī)名解析到IPv6地址
????????5>.PTR指針記錄(pointer):和A記錄相反,用于實(shí)現(xiàn)IP地址映射到FQDN,反向解析
????????6>.MX記錄:?全稱是郵件交換記錄(郵件交換器),在使用郵件服務(wù)器的時(shí)候,MX記錄是無(wú)可或缺的,比如A用戶向B用戶發(fā)送一封郵件,那么他需要向DNS查詢B的MX記錄,DNS在定位到了B的MX記錄后反饋給A用戶,然后A用戶把郵件投遞到B用戶的MX記錄服務(wù)器里!優(yōu)先級(jí),0-99,數(shù)字越小,優(yōu)先級(jí)越高
????????7>.CNAME記錄:也可說(shuō)是別名記錄,規(guī)范名字(CNAME)資源記錄創(chuàng)建特定FQDN的別名。用戶可以使用CNAME記錄來(lái)隱藏用戶網(wǎng)絡(luò)的實(shí)現(xiàn)細(xì)節(jié),使連接的客戶機(jī)無(wú)法知道。比如一個(gè)網(wǎng)站a.com 在發(fā)布的時(shí)候,他可以建立一個(gè)別名記錄,把B.com發(fā)布出去,這樣不容易被外在用戶所察覺!達(dá)到隱藏自己的目的!
????????8>.SRV記錄:它是DNS服務(wù)器的數(shù)據(jù)庫(kù)中支持的一種資源記錄的類型,它記錄了哪臺(tái)計(jì)算機(jī)提供了哪個(gè)服務(wù)這么一個(gè)簡(jiǎn)單的信息。SRV 記錄:一般是為Microsoft的活動(dòng)目錄設(shè)置時(shí)的應(yīng)用。
5. 區(qū)域
????????區(qū)域是用于存儲(chǔ)DNS域名的數(shù)據(jù)庫(kù)。DSN服務(wù)器是以區(qū)域?yàn)閱挝粊?lái)管理域名空間的。DNS數(shù)據(jù)庫(kù)表稱為區(qū)域文件(Zone File)。數(shù)據(jù)庫(kù)中包含著DNS域的RR【資源記錄】,數(shù)據(jù)庫(kù)表中,RR是用文本形式表示的。
?
????????一臺(tái)DNS服務(wù)器可以管理一個(gè)或多個(gè)區(qū)域,而一個(gè)區(qū)域也可以由多臺(tái)DNS服務(wù)器來(lái)管理。
在DNS服務(wù)器中必須先建立區(qū)域,然后才可以根據(jù)需要在區(qū)域中建立子域以及在區(qū)域中添加RR。
?
可以創(chuàng)建正向查找區(qū)域和反向查找區(qū)域兩種區(qū)域。
1>.區(qū)域類型有主要區(qū)域(主區(qū)域)、輔助區(qū)域(從區(qū)域)和存根區(qū)域、準(zhǔn)發(fā)區(qū)域、提示區(qū)域等。
????????主要區(qū)域:它是新區(qū)域的主副本,負(fù)責(zé)在新創(chuàng)建區(qū)域的服務(wù)器上管理和維護(hù)本區(qū)域的RR。
????????輔助區(qū)域:它是主區(qū)域的副本【備份】,主要區(qū)域中的DNS服務(wù)器將把區(qū)域信息傳遞給輔助區(qū)域中的DNS服務(wù)器。使用輔助區(qū)域的目的是提供冗余、減少包含主要區(qū)域數(shù)據(jù)庫(kù)文件的DNS服務(wù)器的負(fù)載。輔助區(qū)域的數(shù)據(jù)無(wú)法修改,其所有數(shù)據(jù)都是從主要區(qū)域復(fù)制而來(lái)。
????????存根區(qū)域:它只包含用于標(biāo)識(shí)該區(qū)域的授權(quán)DNS服務(wù)器所需的RR。含有存根區(qū)域的DNS服務(wù)器對(duì)該區(qū)域沒(méi)有管理權(quán)。存根區(qū)域只能創(chuàng)建只含有NS、SOA和A記錄的區(qū)域的副本。其所屬的主要區(qū)域通常是一個(gè)受委派區(qū)域。
2>.區(qū)與域的關(guān)系:
????????區(qū)包含了域中除了代理給別處的子域外所含有的所有域名和數(shù)據(jù)。如果域的子域沒(méi)有被代理出去,則該區(qū)包含該子域名和子域中的數(shù)據(jù)。
6. 區(qū)域傳輸(區(qū)域傳送)?
????????將一個(gè)區(qū)域文件復(fù)制到多個(gè)服務(wù)器上的過(guò)程叫做區(qū)域傳輸。它是通過(guò)從主服務(wù)器上將區(qū)域文件的信息復(fù)制到輔助服務(wù)器上來(lái)實(shí)現(xiàn)的。
主服務(wù)器是區(qū)域復(fù)制的來(lái)源服務(wù)器,它既可以是主要區(qū)域,也可以是輔助區(qū)域。
*如果主服務(wù)器是主要區(qū)域,區(qū)域傳輸則直接從主要區(qū)域取得區(qū)域文件。
*如果主服務(wù)器是輔助區(qū)域,區(qū)域傳輸僅傳輸區(qū)域文件的一個(gè)只讀副本。
兩種區(qū)域文件復(fù)制方式:
????????AXFR:全部區(qū)域文件復(fù)制,復(fù)制整個(gè)區(qū)域文件。
????????IXFR:增量區(qū)域文件復(fù)制,僅僅復(fù)制區(qū)域里變化的記錄。
二、 bind軟件包的安裝以及配置文件簡(jiǎn)介
1、bind軟件包的安裝
????????在使用DNS服務(wù)器時(shí)首先要確保bind軟件包是否已經(jīng)安裝,可以使用rpm –qa | grep bind 查看。可以使用rpm命令安裝,也可以使用yum源安裝及所依賴軟件包。首先要安裝以下三個(gè)軟件包。
bind-9.8.2-0.17.rc1.el6.x86_64? ???? bind的安裝包
bind-utils-9.8.2-0.17.rc1.el6.x86_64
bind-libs-9.8.2-0.17.rc1.el6.x86_64?
源碼包安裝可以在http://www.isc.org/官網(wǎng)下載安裝
bind-chroot軟件包:切換named根目錄,加強(qiáng)DNS服務(wù)器的安全
caching-nameserver.i386軟件包??? 可以快速構(gòu)建DNS緩存名稱服務(wù)器
2、DNS監(jiān)聽的協(xié)議及端口
??? 53/UDP??????默認(rèn)查詢過(guò)程中使用的是UDP協(xié)議,因不需要三次握手,速度快?????????
??? 53/TCP??????主從服務(wù)數(shù)據(jù)傳輸時(shí)為確保數(shù)據(jù)的準(zhǔn)確、性完整性和安全行,使用的是TCP???
??? 953/TCP???? rndc遠(yuǎn)程域名服務(wù)控制器則使用953端口監(jiān)聽
3、bind配置文件簡(jiǎn)介
/etc/named.conf?bind服務(wù)進(jìn)程的主配置文件,主要定義bind進(jìn)程的工作屬性和區(qū)域的定義
???????/etc/rnd.key??????? ????????? 遠(yuǎn)程名稱控制器,rndc的密鑰文件
???????/etc/rndc.conf??? ??????????? rndc的配置文件
???????/etc/var/named/?????????????? 區(qū)域數(shù)據(jù)文件,可自定義名稱
???????/etc/rc.d/init.d/named? { start|stop|restart|status|reload }服務(wù)進(jìn)程的啟動(dòng)停止重啟等
???????/usr/sbin/named???????????bind的主程序文件
???????/usr/sbin/named-checkconf?????named-checkconf命令檢查配置文件是否有語(yǔ)法錯(cuò)誤
???????/usr/sbin/named-checkzone?????named-checkzone命令檢查區(qū)域文件是否有語(yǔ)法錯(cuò)誤
???????/usr/sbin/rndc??????????????? rndc命令是遠(yuǎn)程控制工具
???????/usr/sbin/rndc-confgen??????? rndc-confgen 命令是rndc配置文件生成器(/etc/rndc.conf)
?????? /var/named/named.ca?????????? Internet的13個(gè)根服務(wù)器名字和地址,DNS接到客戶端主機(jī)的查詢請(qǐng)求時(shí),如果在Cache中找不到相應(yīng)的數(shù)據(jù),就會(huì)通過(guò)根服務(wù)器進(jìn)行逐級(jí)查詢。
???????????Dig–t NS . 可以查詢跟節(jié)點(diǎn)的NS服務(wù)器(可以訪問(wèn)互聯(lián)網(wǎng)的情況下)
/var/named/named.localhost??????本地localhost主機(jī)的正向解析
/var/named/named.loopback???????本地localhost主機(jī)的反向解析
?????????? /etc/resolv.conf????????????????DNS服務(wù)器地址
三、/etc/named.cong主配置文件
??????區(qū)域的定義,每個(gè)選項(xiàng)后面必須要加分號(hào),定義全局選項(xiàng)??
options?{//?listen-onport?53?{?127.0.0.1;?};??????????????#默認(rèn)監(jiān)聽本地53端口?listen-on?port?53?{?any;?};??????????????????????#監(jiān)聽所有地址的53端口listen-on-v6?port?53?{?::1;?};directory??????"/var/named";?????????????????????#自定義區(qū)域數(shù)據(jù)文件存放目錄allow-query?????{?localhost;?};??????????????????#默認(rèn)只允許本地查詢r(jià)ecursion?yes;???????????????????????????????????#是否允許遞歸 };logging?{???????????????????????????????????????????????#日志channeldefault_debug?{file?"data/named.run";???????????????????#日志文件存放目錄severity?dynamic;}; };區(qū)域zone的定義:
zong “ZONE NAME” IN{
?????? type?? { master(主) | slave(從) | hint(根區(qū)域) | forward(轉(zhuǎn)發(fā)) }區(qū)域類型???
}
如果定義的數(shù)據(jù)類型為主區(qū)域則還需定義 file “區(qū)域數(shù)據(jù)文件路徑”;
如果定義的數(shù)據(jù)類型為主區(qū)域則還需定義 file “區(qū)域數(shù)據(jù)文件”;
??????????????????????????????????????????????????????????????????????????????????? ?master (主服務(wù)器地址;)
?????????????????????????????????????????????????????????????????????????? 如???? ?master (master_ip; ) 前后有空格
?
zone?“.”?IN?{??????????????????????????????????????????#定義根區(qū)域type?hint;?????????????????????????????????#定義根區(qū)域類型file?“named.ca”;?????????????????????????#定義根區(qū)域數(shù)據(jù)文件 };1、配置緩存服務(wù)器
打開并編輯/etc/name.conf文件,也可以在named.rfc1912.zones文件中添加zone區(qū)域zone?"localhost"?IN?{??????????????????#定義本地localhost正向解析zone區(qū)域type?master;?????????????????????????#定義主區(qū)域類型file"named.localhost";???????????????#定義區(qū)域數(shù)據(jù)文件 }; zone?"0.0.127.in-addr.arpa"?IN?{?????????????????????#定義本地localhost反向解析zone區(qū)域type?master;?????????????????????????#定義主區(qū)域類型file"named.loopback";????????????????#定義區(qū)域數(shù)據(jù)文件 };檢查named配置文件語(yǔ)法是否正確[root@localhost?etc]#?named-checkconf[root@localhost?etc]# 使用named-checkconf命令,無(wú)報(bào)錯(cuò)則說(shuō)明配置文件語(yǔ)法正確 檢查zone區(qū)域配置是否正確 [root@localhost?etc]#?named-checkzone?"0.0.127.in-addr.arpa"/var/named/named.loopback zone?0.0.127.in-addr.arpa/IN:?loaded?serial0 OK? [root@localhost?etc]#?named-checkzone"localhost"?/var/named/named.localhost zone?localhost/IN:?loaded?serial?0 OK [root@localhost?etc]# 使用named-cone命令檢查區(qū)域是否有語(yǔ)法錯(cuò)誤,返回OK則說(shuō)明無(wú)語(yǔ)法錯(cuò)誤 重啟DNS服務(wù)器 [root@localhost?etc]#?service?named?restart 停止?named:.??????????????????????????????????????????????[確定] 啟動(dòng)?named:???????????????????????????????????????????????[確定] [root@localhost?etc]#?可以使用tail /var/log/messages查看服務(wù)是否啟動(dòng)正常????????
?使用dig –t NS. 命令測(cè)試本地緩存解析
2、配置正向解析,反向解析DNS服務(wù)器
配置環(huán)境:在萬(wàn)網(wǎng)注冊(cè)域名為??? www.51yunxuexi.club
?????????????????????????????????? NS主DNS服務(wù)器master:192.168.1.192
?????????????????????????????????? NSSOA為ns1.51yunxuexi.club.
?????????????????????????????????? www服務(wù)器:192.168.1.106??192.168.1.103
?????????????????????????????????? mail服務(wù)器: 192.168.1.104
?????????????????????????????????? 有一臺(tái)ftp在www主機(jī)上,ftp是www的別名CNAME
SOA:起始授權(quán)記錄格式
ZONE?NAME???????????TTL??????????IN?????????SOA????FQDN(主DNS名稱)??ADMIN?MAIL(SerialnumberRefreshRetryExpireNattl?) $TTL?600@???IN?????SOA????[FQDN]51yunxuexi.club.??admin.com.[管理員郵箱]?(2015083001;serial????#版本號(hào)(最長(zhǎng)為10位數(shù)字)refresh??????????????#定義檢查周期時(shí)間1H;retry?????????????#定義重試時(shí)間1W;expire????????????#定義過(guò)期時(shí)間3H?);minimum?????????#定義否定答案時(shí)長(zhǎng)時(shí)間單位:M(分鐘)、H(小時(shí))、D(天)、W(周)、默認(rèn)單位是秒ZONE NAME(區(qū)域名稱) 指/etc/named.conf中的zone “51yunxuexi.club”,可以使用@來(lái)代替51yunxuexi.club,@可以自動(dòng)讀取zone name。
A)、打開并編輯/etc/named.conf,添加正向解析和反向解析的zone。
????
B)、在/var/named/目錄下創(chuàng)建51yunxuexi.club.zone
?????? 打開并編輯51yunxuexi.club.zone創(chuàng)建正向解析
???????[root@localhost named]# vim /var/named/51yunxuexi.club.zone
修改/var/named?/51yunxuexi.club.zone的文件權(quán)限和屬組 [root@localhost?named]#?chmod?640?51yunxuexi.club.zone [root@localhost?named]#?chown?root:named51yunxuexi.club.zone? [root@localhost?named]#使用named-checkconf和named-checkzone命令檢查主配置文件和數(shù)據(jù)區(qū)域文件是否有語(yǔ)法錯(cuò)誤。[root@localhost?named]#?named-checkconf [root@localhost?named]#?named-checkzone"51yunxuexi.club"?/var/named/51yunxuexi.club.zone zone?51yunxuexi.club/IN:?loaded?serial?2015080301 OK [root@localhost?named]#C)、打開并編輯/var/named/192.168.1.zone創(chuàng)建反向解析
????????
使用named-checkconf?和named-zone命令檢查配置文件是否有語(yǔ)法錯(cuò)誤 [root@localhost?~]# [root@localhost?~]#?named-checkconf [root@localhost?~]#?named-checkzone"1.168.192.in-addr.arpa"?/var/named/192.168.1.zone zone?1.168.192.in-addr.arpa/IN:?loaded?serial2015080301 OK [root@localhost?~]#我在這里使用nslookup命令測(cè)試正反向解析是否能正常解析
正反向解析正常,說(shuō)明正反向解析服務(wù)器完成配置!
轉(zhuǎn)載于:https://blog.51cto.com/bosszhang/1688094
總結(jié)
以上是生活随笔為你收集整理的Linux配置 DNS and BIND服务配置详解--缓存服务器配置 正反向解析配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: OpenDDS架构说明
- 下一篇: Powershell 最大值堆栈实现