linux服務之DNS

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

相關文章
相關標籤/搜索