linux 配置DNS正反区域,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????序列號#每增加配置版本號+1
1D??????;?refresh???刷新時間間隔
1H??????;?retry?????重式時間間隔
1W??????;?expire????過期時常
3H?)????;?minimum???否定答案的緩存時長
NS:Name Service,域名服務記錄name:?當前區域的區域名稱
value:當前區域的某DNS服務器的名字,例如dns.xxx.com.;
注意:一個區域可以有多個ns記錄;例:
xxx.com????IN?????NS??????????dns1.xxx.com
xxx.com????IN?????NS??????????dns2.xxx.com
MX:Mail eXchanger,郵件交換器;name:?當前區域的區域名稱
value:當前區域某郵件交換器的主機名;
優先級:0-99,數字越小優先級越高;
注意:MX記錄可以有多個;但每個記錄的value之前應該有一個數字表示其優先級;例:
xxx.com????IN??MX?????20???mx1.xxx.com
xxx.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.55
www.xxx.com????????IN???A???172.16.1.11
edu.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.service
DNS服務的正反向解析配置!
案例:
為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訪問或改為any
allow-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.arpa
type?master;
file?"172.16.zone";
第四步:在/var/named/ 下創建相關的正反向區域的配置文件創建正向區域文件
[root@localhost?named]#?vim?xxx.ss.zone???#必須與區域文件名保持一致
$TTL?2000
@???????IN??????SOA?????dns.xxx.ss.?????admin.xxx.ss.?(
2017052901
1H
5M
6D
1D?)
@???????IN??????NS??????dns
@???????IN??????MX?10???mail
dns?????IN??????A???????172.16.254.188
mail????IN??????A????????172.168.252.177
www?????IN??????A???????172.16.254.188
ftp?????IN??????CNAME???www
創建反向區域文件
[root@localhost?named]#?vim?172.16.zone????#必須與區域文件名保持一致
$TTL?2000
@?????IN????SOA????dns.xxx.ss.??????admin.xxx.ss.?(
2017052901
1H
5M
6D
1D?)
@???????????????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命令請自行查找
以上僅為個人學習整理,如有錯漏,大神勿噴~~~
總結
以上是生活随笔為你收集整理的linux 配置DNS正反区域,Linux基础服务_DNS原理以及正反向DNS配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python基础语言法则_python语
- 下一篇: .net bitmap rgb数据_Py