Linux基础服务_DNS原理以及正反向DNS配置
DNS服務(wù)的原理介紹:
????????dns(Domain Name Service,域名解析服務(wù)) ? ?為c/s架構(gòu)的服務(wù)
? ????? 通常默認(rèn)的監(jiān)聽的端口為:53/tcp ? ? 53/udp
????????將dns服務(wù)實(shí)現(xiàn)的應(yīng)用程序?yàn)?#xff1a;bind ? ? ? ?(rpm包 )?
? ? ?
????????DNS的樹狀結(jié)構(gòu):
????????????
? ? ? ? ? ? ? ? ? ?
?根域?yàn)?#xff1a;.
?tld:(Top Level Domain ?頂級(jí)域)
組織域:.com, .net, .org, .gov, .edu, .mil
國(guó)家域:.iq, .tw, .hk, .jp, .cn, ...
DNS查詢內(nèi)型:
遞歸查詢:DNS請(qǐng)求被服務(wù)器接受后,如果屬于此服務(wù)器管轄范圍則請(qǐng)求上級(jí)服務(wù)器依次傳遞請(qǐng)求,并且依次傳遞結(jié)果給發(fā)出請(qǐng)求的主機(jī)。
????????????????????
?迭代查詢:DNS請(qǐng)求被服務(wù)器接受后,如果不是自己管轄范圍,讓客戶端訪問根域服務(wù)器,然后跟域通知客戶端去訪問下級(jí)服務(wù)器,直到最后客戶端訪問管轄請(qǐng)求域名的服務(wù)器為止。
????????????????????
?????DNS客戶端設(shè)置使用的DNS服務(wù)器一般都是遞歸服務(wù)器,它負(fù)責(zé)全權(quán)處理客戶端的DNS查詢請(qǐng)求,直到返回最終結(jié)果。而DNS服務(wù)器之間一般采用迭代查詢方式。
DNS解析方式:
正向解析: ?名稱(域名)——>IP
反向解析: ? IP——>名稱(域名)
?**二者的名稱空間,非為同一個(gè)空間,即非為同一棵樹;因此,也不是同一個(gè)解析庫(kù)
????????
DNS服務(wù)器類型:
?主DNS服務(wù)器;從DNS服務(wù)器:負(fù)責(zé)解析一個(gè)域或多個(gè)域。
緩存服務(wù)器:不負(fù)責(zé)解析域名
?區(qū)域(zone)和域(domain)
????????????例:
????????????????? ?xxxx.com為域:?????????? ?
???????????????????將xxx.com進(jìn)行正向解析時(shí):正向解析庫(kù)為區(qū)域
????????????????? ?將xxx.com進(jìn)行反向解析時(shí):反向解析庫(kù)為區(qū)域
????????????
?區(qū)域傳送:
????全量傳送:axfr, 傳送整個(gè)數(shù)據(jù)庫(kù);
????增量傳送:ixfr, 僅傳送變量的數(shù)據(jù); ? ?
?區(qū)域的數(shù)據(jù)庫(kù)文件中相關(guān)參數(shù)含義:
資源記錄:Resource Record, 簡(jiǎn)稱rr;
? ? ? ?記錄有類型:A, AAAA, PTR, SOA, NS, CNAME, MX
???????SOA:Start Of Authority,起始授權(quán)記錄;
???????NS:Name Service,域名服務(wù)記錄;
???????A: Address, 地址記錄,FQDN --> IPv4;
? ? ? ?AAAA:地址記錄, FQDN --> IPv6;
? ? ? ?CNAME:Canonical Name,別名記錄;
? ? ? ?PTR:Pointer,IP --> FQDN
? ? ? ?MX:Mail eXchanger,郵件交換器;
? ? ? ?優(yōu)先級(jí):0-99,數(shù)字越小優(yōu)先級(jí)越高;
資源記錄的定義格式:語法: ?name ?[TTL] INRR_TYPE value
? ? ? ??????? ?
SOA:起始授權(quán)記錄?????
??name:?當(dāng)前區(qū)域的名字;value:有多部分組成(1)?當(dāng)前區(qū)域的區(qū)域名稱(也可以使用主DNS服務(wù)器名稱);(2)?當(dāng)前區(qū)域管理員的郵箱地址;但地址中不能使用@符號(hào),一般使用點(diǎn)號(hào)來替代;(3)?(主從服務(wù)協(xié)調(diào)屬性的定義以及否定答案的TTL)注意:任何解析庫(kù)文件的第一個(gè)記錄的類型必須是SOA?????? ??
?例:?@?????IN?????SOA?????xxx.com????mailxxx.com??(20000001??;?serial????序列號(hào)#每增加配置版本號(hào)+11D??????;?refresh???刷新時(shí)間間隔1H??????;?retry?????重式時(shí)間間隔1W??????;?expire????過期時(shí)常3H?)????;?minimum???否定答案的緩存時(shí)長(zhǎng)? ? ? ? ?
????NS:Name Service,域名服務(wù)記錄
name:?當(dāng)前區(qū)域的區(qū)域名稱value:當(dāng)前區(qū)域的某DNS服務(wù)器的名字,例如dns.xxx.com.;注意:一個(gè)區(qū)域可以有多個(gè)ns記錄;???????例:xxx.com????IN?????NS??????????dns1.xxx.comxxx.com????IN?????NS??????????dns2.xxx.com????MX:Mail eXchanger,郵件交換器;
?????name:?當(dāng)前區(qū)域的區(qū)域名稱????????value:當(dāng)前區(qū)域某郵件交換器的主機(jī)名;優(yōu)先級(jí):0-99,數(shù)字越小優(yōu)先級(jí)越高;注意:MX記錄可以有多個(gè);但每個(gè)記錄的value之前應(yīng)該有一個(gè)數(shù)字表示其優(yōu)先級(jí);例:xxx.com????IN??MX?????20???mx1.xxx.comxxx.com????IN??MX?????10???mx2.xxx.com????A:Address, 地址記錄,FQDN --> IPv4;
?????name:某FQDN,例如www.xxx.com.value:某IPv4地址;例:www.xxx.com????????IN???A???172.16.0.55www.xxx.com????????IN???A???172.16.1.11edu.xxx.com????????IN???A???172.16.0.55????AAAA:地址記錄, FQDN --> IPv6;
???name:FQDN????//表示的為域value:?IPv6????//代表的IPV6????PTR:Pointer,IP --> FQDN:反向解析
???name:IP地址,有特定格式,IP反過來寫,而且加特定.in-ddar.arpa后綴;例如172.16.0.55的記錄應(yīng)該寫為55.0.16.172.in-addr.arpa.;value:FQND例:172.16.0.55.in-ddar.arpa??IN??PTR???www.xxx.com????CNAME:Canonical Name,別名記錄;
???????name:FQDN格式的別名;????????value:FQDN格式的正式名字; 例:edu.xxx.com??????IN??CNAME??????www.xxx.com???sss.xxx.xom??????IN??CNAME??????www.xxx.com在區(qū)域的數(shù)據(jù)庫(kù)文件中定義時(shí)要注意:
(1) TTL可以從全局繼承;
(2) @表示當(dāng)前區(qū)域的名稱;
(3) 相鄰的兩條記錄其name相同時(shí),后面的可省略;
(4) 對(duì)于正向區(qū)域來說,各MX,NS等類型的記錄的value為FQDN,此FQDN應(yīng)該有一個(gè)A記錄 ?
配置正反向的DNS服務(wù)前的環(huán)境!
????linux中提供的DNS服務(wù)包為bind(bekerley internet name domain)
????使用 yum install 安裝bind;并使用 rpm -ql 查看安裝的程序的環(huán)境
程序環(huán)境:主程序:/usr/sbin/named主配置文件:/etc/named.conf,?/etc/named.rfc1912.zones區(qū)域解析庫(kù)文件:/var/named/主配置文件中定義域類型分為:主域(master)、從域(slave)、緩存域(hint)、轉(zhuǎn)發(fā)域(forward)??bind的配置文件:
主配置文件:/etc/named.conf或包含進(jìn)來其它文件;/etc/named.iscdlv.key/etc/named.rfc1912.zones????//用來定義區(qū)域的主配置文件/etc/named.root.key解析庫(kù)文件:/var/named/目錄下;?????????????????????//配置完的區(qū)域文件后對(duì)的配置文件的存放處一般名字為:ZONE_NAME.zone注意:(1)?一臺(tái)DNS服務(wù)器可同時(shí)為多個(gè)區(qū)域提供解析;(2)?必須要有根區(qū)域解析庫(kù)文件:?named.ca;(3)?還應(yīng)該有兩個(gè)區(qū)域解析庫(kù)文件:localhost和127.0.0.1的正反向解析庫(kù);正向:named.localhost???????反向:named.loopbackbind程序安裝完成之后,默認(rèn)即可做緩存名稱服務(wù)器使用;如果沒有專門負(fù)責(zé)解析的區(qū)域,直接即可啟動(dòng)服務(wù);CentOS?6與CentOS?7的bind啟動(dòng)方法:CentOS?6:?service??named??start CentOS?7:?systemctl??start??named.serviceDNS服務(wù)的正反向解析配置!
????案例:
????????為xxx.ss域配置一個(gè)dns服務(wù)
????????dns服務(wù)器地址為:172.16.254.188
????? ?? www :??172.16.254.188
?????????mail: ??172.16.252.177
?????????ftp別名www,指向www
????第一步安裝:bind
????第二步修改/etc/named.conf配置文件:
[root@localhost?~]#?vim?/etc/named.conf?options?{????????????????????????????????????????????????#全局配置//listen-on?port?53?{?127.0.0.1;?};??????????????#注釋后監(jiān)聽全部IP的53端口//listen-on-v6?port?53?{?::1;?};directory???????"/var/named";????????????????????#區(qū)域文件目錄dump-file???????"/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?????{?localhost;?};??????????#訪問控制,注釋后允許所有IP訪問或改為anyallow-query?????{?any;?};?recursion?yes;?????????????????????????????#是否遞歸//dnssec-enable?yes;???????????????????????//是否啟用dns校驗(yàn)的服務(wù)注銷或者改為no//dnssec-validation?yes;dnssec-enable?no;dnssec-validation?no;/*?Path?to?ISC?DLV?key?*/bindkeys-file?"/etc/named.iscdlv.key";managed-keys-directory?"/var/named/dynamic"; };logging?{???????????????????????????????????????????#定義日志channel?default_debug?{file?"data/named.run";severity?dynamic;}; };?
第三步:在/etc/named.rfc1912.zones創(chuàng)建正反向區(qū)域或在/etc/named.conf內(nèi)配置
zone?"xxx.ss"?IN?{???????????????//正向區(qū)域type?master;file?"xxx.ss.zone"; }; zone?"16.172.in-addr.arpa"?IN?{?????????//反向區(qū)域???在配置反向區(qū)域時(shí)IP為反寫的并在后加特定的后綴.in-addr.arpatype?master;file?"172.16.zone";第四步:在/var/named/ 下創(chuàng)建相關(guān)的正反向區(qū)域的配置文件
創(chuàng)建正向區(qū)域文件[root@localhost?named]#?vim?xxx.ss.zone???#必須與區(qū)域文件名保持一致$TTL?2000@???????IN??????SOA?????dns.xxx.ss.?????admin.xxx.ss.?(20170529011H5M6D1D?)???????????????????????@???????IN??????NS??????dns@???????IN??????MX?10???maildns?????IN??????A???????172.16.254.188mail????IN??????A????????172.168.252.177www?????IN??????A???????172.16.254.188ftp?????IN??????CNAME???www? ?
創(chuàng)建反向區(qū)域文件[root@localhost?named]#?vim?172.16.zone????#必須與區(qū)域文件名保持一致$TTL?2000@?????IN????SOA????dns.xxx.ss.??????admin.xxx.ss.?(20170529011H5M6D1D?)???@???????????????IN??????NS??????dns.xxx.ss.188.254?????????IN??????PTR?????dns.xxx.ss.177.252?????????IN??????PTR?????mail.xxx.ss.188.254?????????IN??????PTR?????www.xxx.ss.第五步:檢查并修改文件權(quán)限,檢查配置文件語法;
? ?修改創(chuàng)建配置文件的權(quán)限
#?chgrp??named???ZONE_FILE?NAME #?chmod??o=??????ZONE_FILE?NMAE? ?檢查配置文件是否語法錯(cuò)誤:
#?named-checkzone??ZONE_NAME???ZONE_FILE???? #?named-checkconf第六步開啟服務(wù):????
#?rndc??reload???服務(wù)重載 #?systemctl??reload??named.service???重啟服務(wù)第七步:產(chǎn)看本地53號(hào)端口是否正常監(jiān)聽
ss?-tnl第八步測(cè)試:
正向解析:dig??-t?A??www@xxx@ss?【將@換為.】???@172.16.254.188反向解析:????dig??-x?172.16.254.188???@172.16.254.188更多的dig命令請(qǐng)自行查找
以上僅為個(gè)人學(xué)習(xí)整理,如有錯(cuò)漏,大神勿噴~~~
轉(zhuǎn)載于:https://blog.51cto.com/xxxkkkk/1930622
總結(jié)
以上是生活随笔為你收集整理的Linux基础服务_DNS原理以及正反向DNS配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 把文件夹下的所有文件打包成一个zip包
- 下一篇: 看完你就知道什么是 HTTPS 了