Linux进阶:DNS详解
生活随笔
收集整理的這篇文章主要介紹了
Linux进阶:DNS详解
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
DNS服務(wù)和BIND
本章內(nèi)容
名字解析 DNS服務(wù) 實現(xiàn)主從服務(wù)器 實現(xiàn)子域 實現(xiàn)view 編譯安裝 壓力測試 DNS排錯DNS服務(wù)
DNS:Domain Name Service 應(yīng)用層協(xié)議C/S,53/udp, 53/tcp BIND:Bekerley Internat Name DomainISC (www.isc.org) 本地名稱解析配置文件:hosts/etc/hosts%WINDIR%/system32/drivers/etc/hosts122.10.117.2 www.magedu.com93.46.8.89 www.google.com
DNS域名
根域 一級域名:Top Level Domain: tldcom, edu, mil, gov, net, org, int,arpa三類:組織域、國家域(.cn, .ca, .hk, .tw)、反向域 二級域名 三級域名 最多127級域名 ICANN(The Internet Corporation for Assigned Names and Numbers) 互聯(lián)網(wǎng)名稱與數(shù)字地址分配機構(gòu),負責(zé)在全球范圍內(nèi)對互聯(lián)網(wǎng)通用頂級域名 (gTLD)以及國家和地區(qū)頂級域名(ccTLD)系統(tǒng)的管理、以及根服務(wù)器系統(tǒng) 的管理
DNS
www.magedu.com FQDN 全稱域名 www. 主機名或別名 magedu.com. 域名 . com cn net org mil int tech magedu taobao bai www
DNS解析
DNS查詢類型:遞歸查詢迭代查詢 名稱服務(wù)器:域內(nèi)負責(zé)解析本域內(nèi)的名稱的主機根服務(wù)器:13組服務(wù)器 解析類型:FQDN --> IPIP --> FQDN 注意:正反向解析是兩個不同的名稱空間,是兩棵不同的解析樹
DNS服務(wù)器類型
DNS服務(wù)器的類型:主DNS服務(wù)器從DNS服務(wù)器緩存DNS服務(wù)器(轉(zhuǎn)發(fā)器) 主DNS服務(wù)器:管理和維護所負責(zé)解析的域內(nèi)解析庫的服務(wù)器 從DNS服務(wù)器:從主服務(wù)器或從服務(wù)器“復(fù)制”(區(qū)域傳輸)解析庫副本序列號:解析庫版本號,主服務(wù)器解析庫變化時,其序列遞增刷新時間間隔:從服務(wù)器從主服務(wù)器請求同步解析的時間間隔重試時間間隔:從服務(wù)器請求同步失敗時,再次嘗試時間間隔過期時長:從服務(wù)器聯(lián)系不到主服務(wù)器時,多久后停止服務(wù) “通知”機制:主服務(wù)器解析庫發(fā)生變化時,會主動通知從服務(wù)器
區(qū)域傳輸
區(qū)域傳輸:完全傳輸:傳送整個解析庫增量傳輸:傳遞解析庫變化的那部分內(nèi)容 Domain: Fully Qualified Domain Name正向:FQDN --> IP反向: IP --> FQDN 負責(zé)本地域名的正向和反向解析庫正向區(qū)域反向區(qū)域
DNS解析
一次完整的查詢請求經(jīng)過的流程:Client -->hosts文件 -->DNS Service Local Cache --> DNS Server (recursion) --> Server Cache --> iteration(迭代) --> 根--> 頂級域名DNS--> 二級域名DNS… 解析答案:肯定答案:否定答案:請求的條目不存在等原因?qū)е聼o法返回結(jié)果權(quán)威答案:非權(quán)威答案:
資源記錄
區(qū)域解析庫:由眾多RR組成:資源記錄:Resource Record, RR記錄類型:A, AAAA, PTR, SOA, NS, CNAME, MX SOA:Start Of Authority,起始授權(quán)記錄;一個區(qū)域解析庫有且僅能有一個 SOA記錄,必須位于解析庫的第一條記錄 A:internet Address,作用,FQDN --> IP AAAA:FQDN --> IPv6 PTR:PoinTeR,IP --> FQDN NS:Name Server,專用于標(biāo)明當(dāng)前區(qū)域的DNS服務(wù)器 CNAME : Canonical Name,別名記錄 MX:Mail eXchanger,郵件交換器 TXT:對域名進行標(biāo)識和說明的一種方式,一般做驗證記錄時會使用此項,如: SPF(反垃圾郵件)記錄,https驗證等示例:_dnsauth TXT 2012011200000051qgs69bwoh4h6nht4n1h0lr038x
資源記錄
資源記錄定義的格式:語法:name [TTL] IN rr_type value 注意: (1) TTL可從全局繼承 (2) @可用于引用當(dāng)前區(qū)域的名字 (3) 同一個名字可以通過多條記錄定義多個不同的值;此時DNS服務(wù)器會以輪詢 方式響應(yīng) (4) 同一個值也可能有多個不同的定義名字;通過多個不同的名字指向同一個值 進行定義;此僅表示通過多個不同的名字可以找到同一個主機
SOA記錄
name: 當(dāng)前區(qū)域的名字,例如“magedu.com.”value: 有多部分組成 (1) 當(dāng)前區(qū)域的主DNS服務(wù)器的FQDN,也可以使用當(dāng)前區(qū)域的名字; (2) 當(dāng)前區(qū)域管理員的郵箱地址;但地址中不能使用@符號,一般用.替換 例如:admin.magedu.com (3) 主從服務(wù)區(qū)域傳輸相關(guān)定義以及否定的答案的統(tǒng)一的TTL 例如: magedu.com. 86400 IN SOA ns.magedu.com. nsadmin.magedu.com. ( 2015042201 ;序列號 2H ;刷新時間 10M ;重試時間 1W ;過期時間 1D ;否定答案的TTL值 )
NS記錄
name: 當(dāng)前區(qū)域的名字 value: 當(dāng)前區(qū)域的某DNS服務(wù)器的名字,例如ns.magedu.com. 注意:一個區(qū)域可以有多個NS記錄 例如: magedu.com. IN NS ns1.magedu.com. magedu.com. IN NS ns2.magedu.com. 注意:(1) 相鄰的兩個資源記錄的name相同時,后續(xù)的可省略(2) 對NS記錄而言,任何一個ns記錄后面的服務(wù)器名字,都應(yīng)該在后續(xù)有 一個A記錄
MX記錄
name: 當(dāng)前區(qū)域的名字 value: 當(dāng)前區(qū)域的某郵件服務(wù)器(smtp服務(wù)器)的主機名 一個區(qū)域內(nèi),MX記錄可有多個;但每個記錄的value之前應(yīng)該有一個數(shù)字(0- 99),表示此服務(wù)器的優(yōu)先級;數(shù)字越小優(yōu)先級越高 例如:magedu.com. IN MX 10 mx1.magedu.com.IN MX 20 mx2.magedu.com. 注意:對MX記錄而言,任何一個MX記錄后面的服務(wù)器名字,都應(yīng)該在后續(xù)有 一個A記錄
A記錄
name: 某主機的FQDN,例如www.magedu.com. value: 主機名對應(yīng)主機的IP地址 例如:www.magedu.com. IN A 1.1.1.1www.magedu.com. IN A 2.2.2.2mx1.magedu.com. IN A3.3.3.3mx2.magedu.com. IN A 4.4.4.4$GENERATE 1-254 HOST$ A 1.2.3.$*.magedu.com. IN A 5.5.5.5magedu.com. IN A 6.6.6.6 避免用戶寫錯名稱時給錯誤答案,可通過泛域名解析進行解析至某特定地址
其他記錄
AAAA:name: FQDNvalue: IPv6 PTR:name: IP,有特定格式,把IP地址反過來寫,1.2.3.4,要寫作4.3.2.1;而 有特定后綴:in-addr.arpa.,所以完整寫法為:4.3.2.1.in-addr.arpa.value: FQDN 例如:4.3.2.1.in-addr.arpa. IN PTR www.magedu.com.如1.2.3為網(wǎng)絡(luò)地址,可簡寫成:4 IN PTR www.magedu.com. 注意:網(wǎng)絡(luò)地址及后綴可省略;主機地址依然需要反著寫
別名記錄
CNAME:name: 別名的FQDNvalue: 真正名字的FQDN 例如:www.magedu.com. IN CNAME websrv.magedu.com.
子域
子域授權(quán):每個域的名稱服務(wù)器,都是通過其上級名稱服務(wù)器在解析庫進行授權(quán) 類似根域授權(quán)tld:.com. IN NS ns1.com..com. IN NS ns2.com.ns1.com. IN A 2.2.2.1ns2.com. IN A 2.2.2.2 magedu.com. 在.com的名稱服務(wù)器上,解析庫中添加資源記錄magedu.com. IN NS ns1.magedu.com.magedu.com. IN NS ns2.magedu.com.magedu.com. IN NS ns3.magedu.com.ns1.magedu.com. IN A 3.3.3.1ns2.magedu.com. IN A 3.3.3.2ns3.magedu.com. IN A 3.3.3.3 glue record:粘合記錄,父域授權(quán)子域的記錄
互聯(lián)網(wǎng)域名
域名注冊:代理商:萬網(wǎng), 新網(wǎng), godaddy 注冊完成以后,想自己用專用服務(wù)來解析管理后臺:把NS記錄指向的服務(wù)器名稱,和A記錄指向的服務(wù)器地址
BIND安裝
BIND的安裝配置:dns服務(wù)程序包:bind,unbound程序名:named,unbound程序包:yum list all bind*bind:服務(wù)器bind-libs:相關(guān)庫bind-utils:客戶端bind-chroot: /var/named/chroot/
bind服務(wù)器
服務(wù)腳本和名稱:/etc/rc.d/init.d/named /usr/lib/systemd/system/named.service 主配置文件:/etc/named.conf, /etc/named.rfc1912.zones, /etc/rndc.key 解析庫文件:/var/named/ZONE_NAME.ZONE 注意:(1) 一臺物理服務(wù)器可同時為多個區(qū)域提供解析(2) 必須要有根區(qū)域文件;named.ca(3) 應(yīng)該有兩個(如果包括ipv6的,應(yīng)該更多)實現(xiàn)localhost和本地回環(huán)地址的解 析庫rndc:remote name domain controller,默認(rèn)與bind安裝在同一主機,且只能通過127.0.0.1連接named進程提供輔助性的管理功能;953/tcp
配置文件
主配置文件:全局配置:options {};日志子系統(tǒng)配置:logging {};區(qū)域定義:本機能夠為哪些zone進行解析,就要定義哪些zonezone "ZONE_NAME" IN {}; 注意:任何服務(wù)程序如果期望其能夠通過網(wǎng)絡(luò)被其它主機訪問,至少應(yīng)該監(jiān)聽 在一個能與外部主機通信的IP地址上 緩存名稱服務(wù)器的配置:監(jiān)聽外部地址即可dnssec: 建議關(guān)閉dnssec,設(shè)為no
配置主DNS服務(wù)器
主DNS名稱服務(wù)器:(1) 在主配置文件中定義區(qū)域zone "ZONE_NAME" IN {type {master|slave|hint|forward};file "ZONE_NAME.zone";};(2) 定義區(qū)域解析庫文件出現(xiàn)的內(nèi)容宏定義資源記錄 主配置文件語法檢查:named-checkconf 解析庫文件語法檢查:named-checkzone "magedu.com" /var/named/magedu.com.zone rndc status|reload ;service named reload
測試命令dig
dig [-t type] name [@SERVER] [query options]dig只用于測試dns系統(tǒng),不會查詢hosts文件進行解析 查詢選項:+[no]trace:跟蹤解析過程 : dig +trace magedu.com+[no]recurse:進行遞歸解析測試反向解析:dig -x IP = dig –t ptr reverseip.in-addr.arpa模擬區(qū)域傳送:dig -t axfr ZONE_NAME @SERVERdig -t axfr magedu.com @10.10.10.11dig –t axfr 100.1.10.in-addr.arpa @172.16.1.1dig -t NS . @114.114.114.114dig -t NS . @a.root-servers.net
測試命令
host [-t type] name [SERVER]host –t NS magedu.com 172.16.0.1host –t soa magedu.comhost –t mx magedu.comhost –t axfr magedu.comhost 1.2.3.4 nslookup命令: nslookup [-option] [name | -] [server] ? 交互式模式:nslookup>server IP: 指明使用哪個DNS server進行查詢set q=RR_TYPE: 指明查詢的資源記錄類型NAME: 要查詢的名稱
反向區(qū)域
反向區(qū)域:區(qū)域名稱:網(wǎng)絡(luò)地址反寫.in-addr.arpa.172.16.100. --> 100.16.172.in-addr.arpa. (1) 定義區(qū)域zone "ZONE_NAME" IN {type {master|slave|forward};file "網(wǎng)絡(luò)地址.zone"}; (2) 定義區(qū)域解析庫文件注意:不需要MX,以PTR記錄為主
允許動態(tài)更新
指定的zone語句塊中:Allow-update {any;}; chmod 770 /var/named setsebool -P named_write_master_zones on nsupdate? >server 127.0.0.1? >zone magedu.com? >update add ftp.magedu.com 88888 IN A 8.8.8.8? >send? >update delete www.magedu.com A? >send 測試:dig ftp.magedu.com @127.0.0.1ll /var/named/magedu.com.zone.jnlcat /var/named/magedu.com.zone
從服務(wù)器
1、應(yīng)該為一臺獨立的名稱服務(wù)器 2、主服務(wù)器的區(qū)域解析庫文件中必須有一條NS記錄指向從服務(wù)器 3、從服務(wù)器只需要定義區(qū)域,而無須提供解析庫文件;解析庫文件應(yīng)該放置于 /var/named/slaves/目錄中 4、主服務(wù)器得允許從服務(wù)器作區(qū)域傳送 5、主從服務(wù)器時間應(yīng)該同步,可通過ntp進行; 6、bind程序的版本應(yīng)該保持一致;否則,應(yīng)該從高,主低 定義從區(qū)域的方法:zone "ZONE_NAME" IN {type slave;masters { MASTER_IP; };file "slaves/ZONE_NAME.zone";};
rndc命令
rndc:rndc --> rndc (953/tcp)rndc COMMAND COMMAND:reload: 重載主配置文件和區(qū)域解析庫文件reload zonename: 重載區(qū)域解析庫文件retransfer zonename: 手動啟動區(qū)域傳送,而不管序列號是否增加notify zonename: 重新對區(qū)域傳送發(fā)通知reconfig: 重載主配置文件querylog: 開啟或關(guān)閉查詢?nèi)罩疚募?var/log/messagetrace: 遞增debug一個級別trace LEVEL: 指定使用的級別notrace:將調(diào)試級別設(shè)置為 0flush:清空DNS服務(wù)器的所有緩存記錄
轉(zhuǎn)發(fā)服務(wù)器
注意:被轉(zhuǎn)發(fā)的服務(wù)器需要能夠為請求者做遞歸,否則轉(zhuǎn)發(fā)請求不予進行 (1) 全局轉(zhuǎn)發(fā): 對非本機所負責(zé)解析區(qū)域的請求,全轉(zhuǎn)發(fā)給指定的服務(wù)器Options {forward first|only;forwarders { ip;};}; (2) 特定區(qū)域轉(zhuǎn)發(fā):僅轉(zhuǎn)發(fā)對特定的區(qū)域的請求,比全局轉(zhuǎn)發(fā)優(yōu)先級高zone "ZONE_NAME" IN {type forward;forward first|only;forwarders { ip;};}; 注意:關(guān)閉dnssec功能:dnssec-enable no;dnssec-validation no;
bind中ACL
bind中基礎(chǔ)的安全相關(guān)的配置:acl: 把一個或多個地址歸并為一個集合,并通過一個統(tǒng)一的名稱調(diào)用 格式:acl acl_name {ip;net/prelen;……}; 示例:acl mynet {172.16.0.0/16;10.10.10.10;};
bind中ACL
bind有四個內(nèi)置的acl:none: 沒有一個主機any: 任意主機localhost: 本機localnet: 本機的IP同掩碼運算后得到的網(wǎng)絡(luò)地址 注意:只能先定義,后使用;因此一般定義在配置文件中,處于options的前面
訪問控制
訪問控制的指定:allow-query {}: 允許查詢的主機;白名單allow-transfer {}:允許區(qū)域傳送的主機;白名單allow-recursion {}: 允許遞歸的主機,建議全局使用allow-update {}: 允許更新區(qū)域數(shù)據(jù)庫中的內(nèi)容
bind view
CDN: Content Delivery Network內(nèi)容分發(fā)網(wǎng)絡(luò)服務(wù)商:藍汛,網(wǎng)宿,帝聯(lián)等 智能DNS:dnspoddns.la view:視圖:實現(xiàn)智能DNS: 一個bind服務(wù)器可定義多個view,每個view中可定義一個或多個zone每個view用來匹配一組客戶端多個view內(nèi)可能需要對同一個區(qū)域進行解析,但使用不同的區(qū)域解析庫文件
bind view
注意:(1) 一旦啟用了view,所有的zone都只能定義在view中(2) 僅在允許遞歸請求的客戶端所在view中定義根區(qū)域(3) 客戶端請求到達時,是自上而下檢查每個view所服務(wù)的客戶端列表 格式:view VIEW_NAME {match-clients { testacl; };zone “magedu.com” {type master;file “magedu.com.zone”; };include “/etc/named.rfc1912.zones”;};
DNS排錯
NOERROR不代表沒有問題,也可以是過時的記錄 ?查看是否為權(quán)威記錄,flags:aa標(biāo)記判斷 ?被刪除的記錄仍能返回結(jié)果,可能是因為*記錄存在 ?如:*.example.com. IN A 172.25.254.254 ?注意“.”的使用 ?避免CNAME指向CNAME記錄,可能產(chǎn)生回環(huán) ?test.example.com. IN CNAME lab.example.com. ?lab.example.com. IN CNAME test.example.com. ?正確配置PTR記錄,許多服務(wù)依賴PTR,如sshd,MTA ?正確配置輪詢round-robin記錄
轉(zhuǎn)載于:https://blog.51cto.com/13878155/2296017
總結(jié)
以上是生活随笔為你收集整理的Linux进阶:DNS详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转] 视频直播前端方案
- 下一篇: LaTex 使用特殊章节符号 (§)