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