linux服務之DNS


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相關的實驗操作還有很多,不過基本操作也就大致如此,我們可以基於這些基本操作實現多台機器之間主從設置,以及子域父域等相關操作,這里我就不做過多展示了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM