DNS

這里都以我本機的實驗為例

正向解析:就是從主機名到IP的解析過程

先在工作目錄/var/named/創建一個區域數據文件

zcylinux.io域為例:vim
/var/named/zcylinux.io.zone

$TTL  600     #設置全局變量TTL的值為600s

zcylinux.io.  IN    SOA   zcylinux.io.  nsadmin.zcylinux.io.   (

        2017052801

        1H

        1M

        1W

        1D )

 zcylinux.io.   IN    NS  dns.zcylinux.io. 表示zcylinux.io域中的DNS服務器是哪個主機

dns.zcylinux.io.  IN    A   172.16.250.31        ns服務器的正向解析記錄

www.zcylinux.io.  IN    A   172.16.0.1  www.zcylinux.io.的正向解析記錄

web             IN   CNAME    www       表示還有一個別名是web

每個完整的域名之后要加上點“.”,這個點表示完整的主機名FQDN,如果只寫了zcylinux.io,表示zcylinux.io.zcylinux.io.

保存后,修改文件的屬組:chown  :named zcylinux.io.zone

權限:chmod o= zcylinux.io.zone

在主配置文件/etc/named.conf或配置文件輔助文件/etc/named.rfc1912.zones中添加:

zone “zcylinux.io ” {

   type master {master|slave|hint|forward};

   file “zcylinux.io”;

};

/etc/named/目錄下:

  檢查語法錯誤:named-checkconf

      named-checkzone zcylinux.io zcylinux.io.zone

啟動named服務:systemctl start named

若是服務已經啟動:rndc reload systemctl reload named.service 來重新加載配置文件和區域數據文件

 

反向解析:就是從IP到主機名的過程

172.16這個網段的區域為例

    在/etc/named/目錄下編輯區域數據文件

    vim 172.16.zone

     $TTL 600

 

@    IN   SOA  zcylinux.io. nsadmin.zcylinux.io. (

    2017052801

    1H

    1M

    1W

     1D )

@    IN    NS    dns.zcylinux.io.

31.250 IN    PTR    dns.zcylinux.io.

1.0  IN    PTR    www.zcylinux.io.

@表示在zone中定義的zone_name

這里在左側只用添加ip地址的最后兩段,因為我們在之前已經定義好域了16.172.in-addr.arpa,因此在這里它會自動將其補全

定義區域:   

  在主配置文件或配置文件輔助文件中實現:

   zone “16.172.in-addr.arpa ”{

       type master {master|slave|hint|forward};

       file “172.16.zone”;

 };

注意:反向解析區域的名字反寫的網段地址.in-addr.arpa

檢查語法錯誤(工作目錄/etc/named/):named-checkconf

       named-checkzone  172.16.io  172.16.io.zone

啟動named服務:systemctl start named

若是服務已經啟動:rndc reload systemctl reload named.service 來重新加載配置文件和區域數據文件

反向解析與正向解析是兩個獨立的邏輯,不會互相干擾

/從:記得防火墻 iptables -F

     在主服務器的bind的主配置文件/etc/named.conf的每個zone中可以定義設置哪些從服務器來同步信息;主服務器更改信息時,要修改序列號(遞增),這樣從服務器才會同步信息。

zone “zcylinux.io” IN {

    type master;

     file “zcylinux.io.zone”;

    allow-transfer { 172.16.251.109; }; 多個ip地址時以分號隔開

};

在從服務器上只用修改bind主配置文件或輔助配置文件中的zone即可:

zone “zcylinux.io” IN {

    type slave;

    file “slaves/zcylinux.io.zone”; 將同步后的文件放置的位置,這里是相對路徑,實際路徑為/var/named/slaves/zcylinux.io.zone

    masters { 172.16.250.31; }; 主服務器的地址

};

zone “16.172.in-addr.arpa” IN {

    type slave;

    file “slaves/172.16.io.zone”;

    masters { 172.16.250.31; };

};

檢查語法錯誤(工作目錄/etc/named/):named-checkconf

重新加載:rndc reload

     通過觀察日志文件 tail
/var/log/messages
查看是否同步成功,成功會在/var/named/slaves/目錄下生成相應的文件

 

子域:

  當我們將DNS解析請求發給我們所指定的DNS服務器后,它會一級一級的去查找域名去解析,在這里每一級都是一個域,而且每個域都是上級的子域;每一級域只負責解析該域名,而對于下一級域名的解析只告訴所對應的DNS服務器地址,具體的解析交給下級來完成。

在上級域名加入一條記錄來指定子域

 

$TTL  600

 

zcylinux.io.    IN      SOA     zcylinux.io.    nsadmin.zcylinux.io.    (

                2017052702

                1H

                2M

                3W

                4D )

                IN      NS      dns.zcylinux.io.

dns.zcylinux.io. IN     A       172.16.250.31

www.zcylinux.io.  IN    A       172.16.0.1

web             IN      CNAME   www

 

ops.zcylinux.io.    IN   NS   dns.ops.zcylinux.io. //指定分割子域和負責人

dns.ops        IN   A    172.16.251.57  //負責人對應的識別信息

 

配置子域:在子域服務器上

vim /etc/named.rfc1912.zones

     zone
“ops.zcylinux.io” IN
  {

        type master;

        file “ops.zcylinux.io.zone”;

編輯正向解析文件:

vim ops.zcylinux.io.zone

$TTL    1D

 

@       IN      SOA     ops.zcylinux.io.                nsadmin.ops.zcylinux.io.        (

        2017052701

        1H

        1M

        1W

        1D)

@       IN      NS      dns.ops.zcylinux.io.

dns     IN      A       172.16.251.57

www     IN      A       172.16.253.69


區域轉發:

一般來說子域不知道父域的位置,無法解析父域。而要想能解析父域,我們需要用到轉發:

vim /etc/named.rfc1912.zones

zone
“zcylinux.io” IN {

        type forward;

        forward only|first;  //前者代表只去詢問父域,不論能否解析;后者是先轉給父域,不行再去找根。

        forwarders { 172.16.250.31;
172.16.251.109; };

};

 

 

全局轉發

     vim /etc/named.conf

         options {

… …

forward {only|first};

forwarders { SERVER_IP; };

.. …

    };

  

基本安全控制:

       acl 訪問控制列表:把一個或多個地址歸并一個命名的集合,隨后通過此名稱即可對此集全內的所有主機實現統一調用;

vim /etc/named.conf

     acl test {

        172.16.0.200;

        172.16.250.31;

};

設置區域查詢控制:

     vim /etc/named.rfc1912.zones

zone “zcylinux.io” IN {

        type master;

        file “zcylinux.io.zone”;

        allow-query { test; };

};

allow-transfer {}; 允許向哪些主機做區域傳送;默認為向所有主機;應該配置僅允許從服務器;

vim /etc/named.conf

     acl slavesrvs {

        172.16.251.109;

        127.0.0.0/8;

};

vim /etc/named.rfc1912.zones

     zone “zcylinux.io” IN {

        type master;

        file “zcylinux.io.zone”;

        //allow-query { test; };

        allow-transfer { slavesrvs; };

};

allow-recursion {}; 允許哪此主機向當前DNS服務器發起遞歸查詢請求;

vim /etc/named.conf

········

acl localnet {

        172.16.0.0/16;

        127.0.0.0/8;

};

········

allow-recursion { localnet; };

········

allow-update {}; DDNS,允許動態更新區域數據庫文件中內容

vim /etc/named.rfc1912.zones

     zone
“zcylinux.io” IN {

        type master;

        file “zcylinux.io.zone”;

        allow-update { none; };

};

測試工具:在測試時注意防火墻

     dig, host, nslookup

dig命令:

     dig [-t RR_TYPE] name [@SERVER] [query options]

     用于測試dns系統,因此其不會查詢hosts文件;

查詢選項:

     +[no]trace 跟蹤解析過程;

     +[no]recurse 進行遞歸解析;

注意:反向解析測試

     dig -x IP

模擬完全區域傳送:

     dig -t axfr DOMAIN [@server]

host命令:

     host [-t RR_TYPE] name SERVER_IP

nslookup命令

     nslookup [-options] [name] [server]

交互式模式:

     nslookup>

     server IP 以指定的IPDNS服務器進行查詢;

     set q=RR_TYPE:要查詢的資源記錄類型;

     name:要查詢的名稱;

rndc命令:named服務控制命令

     rndc status

     rndc flush

     rndc reload

原創文章,作者:Immortals、zcy,如若轉載,請注明出處:http://www.www58058.com/77185

(0)
Immortals、zcyImmortals、zcy
上一篇 2017-05-30
下一篇 2017-05-30

相關推薦

  • shell編程作業

    1、編寫腳本/root/bin/systeminfo.sh,顯示當前主機系統信息,包括主機名,IPv4地址,操作系統版本,內核版本,CPU型號,內存大小,硬盤大小。 [root@localhost sh.log]# cat systeminfo.sh  #!/bin/bash #author:DYW #顯示當前主機系統…

    Linux干貨 2016-08-15
  • N21-北京-泥人-馬哥教育網絡班21期+第一周課程練習

    馬哥教育網絡班21期  第一周課程練習 一、計算機的組成 1、計算機主要由以下幾部分組成:運算器 控制器 存儲器(編址存儲單元)、 輸入、輸出設備   2、運算器負責運算:只能做二進制的數學、邏輯運算, 控制器:控制由哪得到數據,放到哪去,協調運算器、存儲器、輸入、輸出等設備 運算器、控制器整合到一起就是常說的中央處理器,也就是CPU。 …

    Linux干貨 2016-07-12
  • Linux計劃任務

    計劃任務 Linux任務計劃、周期性任務執行 ? 未來的某時間點執行一次任務:     at     batch:系統自行選擇空閑時間去執行此處指定的任務 ? 周期性運行某任務:      cron at任務 …

    Linux干貨 2016-09-10
  • dstat,htop,top,ps命令 (Blog 8)

      Linux哲學思想之一:一切皆文件:內核將其參數全部映射為文件;這些文件保存在/proc, /sys目錄中;/proc目錄:保存內核及進程狀態信息,是內核參數的映射; 內核參數:可調參數:調整運行特性;/proc/sys不可調參數:輸出內核統計信息及狀態信息; 進程狀態:/proc/# 與進程號同名的目錄,目錄下存放許多當前進程相關信息; 進程…

    Linux干貨 2017-11-27
  • 搭建路由環境

        五個虛擬機分別模擬三個路由器和兩個主機,實現不同網段的主機之間的通信。 1.規定四個網段的ip地址:分別是192.168.1.0/24;192.168.2.0/24;192.168.3.0/24;192.168.4.0/24 2.三個路由器命名為R1、R2、R3。R1的兩個網關地址為192.168.1.1和19…

    2017-08-20
  • 往死里苦練腳本啊啊啊啊啊啊啊~~~~~~~~~~~~~~~~

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #腳本內容 [root@centos script]# cat week9_title1.sh  #!/bin/bash #Author …

    Linux干貨 2017-02-16
欧美性久久久久