DNS:Domain Name Service 應用層協議 ,域名解析服務,接下來讓咱們一塊兒來認識一下dns服務吧!linux
1、DNS基本介紹vim
一、dns域名結構centos
• 根域緩存
• 一級域名:Top Level Domain: tld服務器
com, edu, mil, gov, net, org, int,arpa網絡
三類:組織域、國家域(.cn, .jp)地區域(.hk, .tw)、反向域測試
• 二級域名centos7
• 三級域名spa
• 最多127級域名rest
二、dns解析
•DNS查詢類型:
遞歸查詢
迭代查詢
• 名稱服務器:域內負責解析本域內的名稱的主機 根服務器:13組服務器,1個爲主根服務器在美國。其他12個均爲輔根服務器,其中9個在美 國,歐洲2個,位於英國和瑞典,亞洲1個位於日本
• 解析類型: FQDN --> IP IP –> FQDN
• 注意:正反向解析是兩個不一樣的名稱空間,是兩棵不一樣的解析樹
三、dns服務器類型
• DNS服務器的類型:
主DNS服務器
從DNS服務器
緩存DNS服務器(轉發器)
• 主DNS服務器:管理和維護所負責解析的域內解析庫的服務器
• 從DNS服務器:從主服務器或從服務器「複製」(區域傳輸)解析庫副本 序列號:解析庫版本號,主服務器解析庫變化時,其序列遞增 刷新時間間隔:從服務器從主服務器請求同步解析的時間間隔
重試時間間隔:從服務器請求同步失敗時,再次嘗試時間間隔
過時時長:從服務器聯繫不到主服務器時,多久後中止服務
• 「通知」機制:主服務器解析庫發生變化時,會主動通知從服務器
四、dns解析
解析答案分爲確定答案,否認答案;應答分爲權威應答和非權威應答。
確定答案: 一個確定答案有返回結果
否認答案:請求的條目不存在等緣由致使沒法返回結果
權威答案: 客戶端從指定的dns直接獲取的解析
非權威答案:客戶端經過指定的dns從其餘渠道得到的解析
五、資源記錄
區域解析庫:由衆多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.
• 注意:網絡地址及後綴可省略;主機地址依然須要反着寫
2、dns實驗操做
實驗一:在centos7上部署dns實現對magedu.com的正向解析及對192.168.248的反向解析
一、安裝bind
[root@localhost(wsy) ~]# yum -y install bind
二、修改etc下named.conf文件
[root@localhost(wsy) ~]#vim /etc/named.conf
listen-on port 53 { any; }; allow-query { any; }; …… include "/etc/named.magedu.zones";
三、修改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"; };
四、啓動named服務
[root@localhost(wsy) ~]#named-checkconf
五、進入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
六、客戶端測試
[root@localhost(wsy) ~]#dig -t ns magedu.com @192.168.248.7
實驗二:動態dns更新
一、進入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的主從
一、安裝bind
[root@localhost(wsy) ~]#yum -y install bind
二、修改etc下配置文件
[root@localhost(wsy) ~]#vim /etc/name.conf
allow-transfer { 192.168.248.6; };
三、配置從dns
[root@rhel5 ~]#vim /etc/name.rfc1912.zones
zone "magedu.com" IN { type slave; masters { 192.168.248.7; }; file "slaves/magedu.com.ZONE"; };
四、重啓服務
[root@localhost(wsy) ~]#service named restart
五、測試設置是否成功
[root@rhel5 ~]#dig -t axfr magedu.com @192.168.248.7
實驗四:子域委派,部署magedu.com zz.magedu.com bj.magedu.com
子域委派通常分爲三種方式:
1.子域和父域在一個文件裏。
2.子域和父域在同一個機器上。不用委派,直接建立
3.子域和父域不在同一個機器上,要子域委派
在這裏以第三種方式來作實踐操做。
一、在父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
三、在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
四、在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: 本機有的結果優先,本機查不到,則交給轉發。轉發查不到(包含轉發本身的以及轉發迭代的),則本機再迭代。
一、全局轉發
[root@localhost(wsy) ~]#vim /etc/named.conf
options { …… forward only|first;默認是first forwarders { x.x.x.x; }; …… };
二、特定區域轉發
zone "mage.com" { type forward; forwarders { 192.168.248.12; }; };
實驗六:設置不一樣區域記錄返回不一樣結果view(設置view時須要把zone文件寫出來)
一、修改配置文件
[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"; };
二、分別編輯對應的域文件
[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"; };
三、編輯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相關的實驗操做還有不少,不過基本操做也就大體如此,咱們能夠基於這些基本操做實現多臺機器之間主從設置,以及子域父域等相關操做,這裏我就不作過多展現了。