DNS:Domain Name Service 應用層協議 ,域名解析服務,接下來讓我們一起來認識一下dns服務吧!
一、DNS基本介紹
1、dns域名結構
• 根域
• 一級域名:Top Level Domain: tld
com, edu, mil, gov, net, org, int,arpa
三類:組織域、國家域(.cn, .jp)地區域(.hk, .tw)、反向域
• 二級域名
• 三級域名
• 最多127級域名
2、dns解析
•DNS查詢類型:
遞歸查詢
迭代查詢
• 名稱服務器:域內負責解析本域內的名稱的主機 根服務器:13組服務器,1個為主根服務器在美國。其余12個均為輔根服務器,其中9個在美 國,歐洲2個,位於英國和瑞典,亞洲1個位於日本
• 解析類型: FQDN --> IP IP –> FQDN
• 注意:正反向解析是兩個不同的名稱空間,是兩棵不同的解析樹
3、dns服務器類型
• DNS服務器的類型:
主DNS服務器
從DNS服務器
緩存DNS服務器(轉發器)
• 主DNS服務器:管理和維護所負責解析的域內解析庫的服務器
• 從DNS服務器:從主服務器或從服務器“復制”(區域傳輸)解析庫副本 序列號:解析庫版本號,主服務器解析庫變化時,其序列遞增 刷新時間間隔:從服務器從主服務器請求同步解析的時間間隔
重試時間間隔:從服務器請求同步失敗時,再次嘗試時間間隔
過期時長:從服務器聯系不到主服務器時,多久后停止服務
• “通知”機制:主服務器解析庫發生變化時,會主動通知從服務器
4、dns解析
解析答案分為肯定答案,否定答案;應答分為權威應答和非權威應答。
肯定答案: 一個肯定答案有返回結果
否定答案:請求的條目不存在等原因導致無法返回結果
權威答案: 客戶端從指定的dns直接獲取的解析
非權威答案:客戶端通過指定的dns從其他渠道獲得的解析
5、資源記錄
區域解析庫:由眾多RR組成:
資源記錄:Resource Record, RR
記錄類型:A, AAAA, PTR, SOA, NS, CNAME, MX
• SOA:Start Of Authority,起始授權記錄;一個區域解析庫有且僅能有一個SOA記錄,必須位於解 析庫的第一條記錄
• A:internet Address,作用,FQDN –> IP
• AAAA: FQDN --> IPv6 • PTR: PoinTeR,IP –> FQDN
• NS: Name Server,專用於標明當前區域的DNS服務器
• CNAME:Canonical Name,別名記錄
• MX: Mail eXchanger,郵件交換器
SOA記錄
• name: 當前區域的名字,例如“magedu.com.”
• value: 有多部分組成
(1) 當前區域的主DNS服務器的FQDN,也可以使用當前區域的名字;
(2) 當前區域管理員的郵箱地址;但地址中不能使用@符號,一般用.替換,例如 linuxedu.magedu.com
(3) 主從服務區域傳輸相關定義以及否定的答案的統一的TTL
例如: magedu.com. 86400 IN SOA
ns.magedu.com. nsadmin.magedu.com. ( 2015042201 ;序列號 2H ;刷新時間 10M ;重試時間 1W ;過期時間 1D ;否定答案的TTL值 )在zone文件里,“;”表示注釋
NS記錄
• name: 當前區域的名字
• value: 當前區域的某DNS服務器的名字,例如ns.magedu.com.
• 注意:一個區域可以有多個NS記錄
例如: magedu.com. IN NS ns1.magedu.com.
magedu.com. IN NS ns2.magedu.com.
• 注意: (1) 相鄰的兩個資源記錄的name相同時,后續的可省略
(2) 對NS記錄而言,任何一個ns 記錄后面的服務器名字,都應該在后續有一個A記錄
(3) 空格和@都代表當前zone名,如果自己手寫注意以 “.” 結束。
A記錄
• name: 某主機的FQDN,例如www.magedu.com.
• value: 主機名對應主機的IP地址
例如:
www.magedu.com. IN A 1.1.1.1 www.magedu.com. IN A 2.2.2.2
*.magedu.com. IN A 5.5.5.5
注意:一般NS記錄后必須跟一個A記錄;A記錄前主機名后跟ip地址;*代表泛域名
PTR
name: IP,有特定格式,把IP地址反過來寫,1.2.3.4,要寫作4.3.2.1;而有特定后綴:inaddr.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為網絡地址,可簡寫成:
4 IN PTR www.magedu.com.
• 注意:網絡地址及后綴可省略;主機地址依然需要反着寫
二、dns實驗操作
實驗一:在centos7上部署dns實現對magedu.com的正向解析及對192.168.248的反向解析
1、安裝bind
[root@localhost(wsy) ~]# yum -y install bind
2、修改etc下named.conf文件
[root@localhost(wsy) ~]#vim /etc/named.conf
listen-on port 53 { any; }; allow-query { any; }; …… include "/etc/named.magedu.zones";
3、修改etc下關於域名的文件
[root@localhost(wsy) ~]#cp -p /etc/named.rfc1912.zones /etc/named.magedu.zones -p 表示權限不變 [root@localhost(wsy) ~]#vim /etc/named.magedu.zones zone "magedu.com" IN { type master; file "magedu.com.zone"; }; zone "248.168.192.in-addr.arpa" IN { type master; file "192.168.248.zone"; };
4、啟動named服務
[root@localhost(wsy) ~]#named-checkconf
5、進入var目錄並修改相應zone文件
[root@localhost(wsy) ~]#cd /var/named/
[root@localhost(wsy) ~]#cp -p named.localhost magedu.com.zone
[root@localhost(wsy) ~]#vim magedu.com.zone
$TTL 1D @ IN SOA @ admin.magedu.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum magedu.com. NS ns1.magedu.com. ns1.magedu.com. 3600 IN A 192.168.248.7 www A 192.168.248.6 [root@localhost(wsy) ~]#cp -p magedu.com.zone 192.168.248.zone
[root@localhost(wsy) ~]#vim 192.168.248.zone
$TTL 1D @ IN SOA magedu.com. admin.magedu.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum @ NS ns1.magedu.com. 7 PTR ns1.magedu.com. 6 PTR www.magedu.com. [root@localhost(wsy) ~]#named-checkzone magedu.com /var/named/magedu.com.zone
zone magedu.com/IN: loaded serial 0 OK [root@localhost(wsy) ~]#named-checkzone 153.168.192.in-addr.arpa /var/named/192.168.248.zone
zone 248.168.192.in-addr.arpa/IN: loaded serial 0 OK [root@localhost(wsy) ~]#rndc reload
6、客戶端測試
[root@localhost(wsy) ~]#dig -t ns magedu.com @192.168.248.7
實驗二:動態dns更新
1、進入etc目錄下named.conf文件修改配置文件,允許更新。
[root@localhost(wsy) ~]#vim /etc/named.conf
Allow-update {any;}; [root@localhost(wsy) ~]#chmod770 /var/named
[root@localhost(wsy) ~]#setsebool -P named_write_master_zones on
[root@localhost(wsy) ~]#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
測試:
[root@rhel5 ~]#dig ftp.magedu.com @127.0.0.1
[root@localhost(wsy) ~]#ll /var/named/magedu.com.zone.jnl
實驗3:DNS的主從
1、安裝bind
[root@localhost(wsy) ~]#yum -y install bind
2、修改etc下配置文件
[root@localhost(wsy) ~]#vim /etc/name.conf
allow-transfer { 192.168.248.6; };
3、配置從dns
[root@rhel5 ~]#vim /etc/name.rfc1912.zones
zone "magedu.com" IN { type slave; masters { 192.168.248.7; }; file "slaves/magedu.com.ZONE"; };
4、重啟服務
[root@localhost(wsy) ~]#service named restart
5、測試設置是否成功
[root@rhel5 ~]#dig -t axfr magedu.com @192.168.248.7
實驗四:子域委派,部署magedu.com zz.magedu.com bj.magedu.com
子域委派一般分為三種方式:
1.子域和父域在一個文件里。
2.子域和父域在同一個機器上。不用委派,直接創建
3.子域和父域不在同一個機器上,要子域委派
在這里以第三種方式來做實踐操作。
1、在父dns上做委派
[root@localhost(wsy) ~]#vim /etc/named.conf
dnssec-enable no; dnssec-validation no;
2.修改var/named下文件里邊部署
[root@localhost(wsy) ~]#vim /var/named/magedu.com.zone
zz NS ns.zz.magedu.com. bj NS ns.bj.magedu.com. ns.zz A 192.168.248.6 ns.bj A 172.18.250.42
3、在zz對應主機上修改相應配置
[root@centos6(wsy) ~]#vim /etc/named.rfc1912.zones zone "zz.magedu.com" IN { type master; file "zz.magedu.com.zone"; }; [root@centos6(wsy) ~]#vim /var/named/zz.magedu.com.zone $TTL 1D @ IN SOA ns.zz.magedu.com. admin.zz.magedu.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ns.zz.magedu.com. ns A 192.168.153.6 www A 2.2.2.2 [root@centos6(wsy) ~]#service named restart
4、在bj對應主機上配置
[root@centos6(wsy) ~]# vim /etc/named.rfc1912.zones
zone "bj.magedu.com" IN { type master; file "bj.magedu.com.zone"; }; [root@rhel5 ~]#cp -p named.localhost bj.magedu.com.zone
[root@rhel5 ~]#vim bj.magedu.com.zone
$TTL 1D @ IN SOA ns.bj.magedu.com. admin.bj.magedu.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ns.bj.magedu.com. ns A 172.18.251.125 www A 3.3.3.3 [root@rhel5 ~]#service named restart
實驗五:設置轉發dns
only: 本機有的結果優先,本機查不到,則交給轉發。轉發也查不到,則結束,報告查不到。
first: 本機有的結果優先,本機查不到,則交給轉發。轉發查不到(包含轉發自己的以及轉發迭代的),則本機再迭代。
1、全局轉發
[root@localhost(wsy) ~]#vim /etc/named.conf
options { …… forward only|first;默認是first forwarders { x.x.x.x; }; …… };
2、特定區域轉發
zone "mage.com" { type forward; forwarders { 192.168.248.12; }; };
實驗六:設置不同區域記錄返回不同結果view(設置view時需要把zone文件寫出來)
1、修改配置文件
[root@localhost(wsy) ~]#vim /etc/named.conf
view bjview { match-clients { beijing; }; include "/etc/named.bj.zones"; }; view zzview { match-clients { zhengzhou; }; include "/etc/named.zz.zones"; };
2、分別編輯對應的域文件
[root@localhost(wsy) ~]#vim /etc/named.bj.zones
zone "example.com" IN { type master; file "example.com.zone"; }; [root@localhost(wsy) ~]#vim /etc/named.zz.zones
zone "example.com" IN { type master; file "example.com.ZONE"; };
3、編輯var下zone文件
[root@localhost(wsy) ~]#vim /var/named/example.com.zone
$TTL 1D @ IN SOA ns.example.com. rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ns.example.com. ns A 192.168.248.110 www A 100.100.100.100 [root@localhost(wsy) ~]#vim /var/named/example.com.ZONE
$TTL 1D @ IN SOA ns.example.com. rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ns.example.com. ns A 192.168.248.110 www A 200.200.200.200
其實dns相關的實驗操作還有很多,不過基本操作也就大致如此,我們可以基於這些基本操作實現多台機器之間主從設置,以及子域父域等相關操作,這里我就不做過多展示了。
