DNS實驗

正向解析

  1. 編輯/etc/named.conf

    listen-on port 53 { 172.0.0.1; 192.168.209.134; };
     //listen-on-v6 port 53 { ::1; };
    
     allow-query     { any; };
    
     dnssec-enable no;
     dnssec-validation no;
  2. 編輯/etc/named.rfc1912.zones

    zone "iounix.com" IN {
         type master;
         file "iounix.com.zone";
     };
  3. 創建/var/named/iounix.com.zone

    $TTL 3600
    
     iounix.com.     IN      SOA     iounix.com.     admin.iounix.com. (
             2017052301
             1H
             10M
             3D
             1D )
             IN      NS      ns1.iounix.com.
     ns1     IN      A       192.168.209.134
     www     IN      A       172.16.0.1
     aaa     IN      A       4.1.1.1
     web     IN      CNAME   www
  4. 檢查

    named-checkconf
     named-checkzone  iounix.com  iounix.com.zone
  5. rndc reload

  6. 修改問價權限

    ~]# chown  .named  /var/named/iounix.com.zone
     ~]# chmod  o=  /var/named/iounix.com.zone
  7. 測試
    ~]# dig -t A www.iounix.com @192.168.209.134

    如果未指定DNS服務器地址,則采用默認的地址;在/etc/resolv.conf中設置默認DNS服務器;

    ~]# vim /etc/resolv.conf
     # Generated by NetworkManager
     search localdomain
     nameserver 192.168.209.134
    
     ~]# dig -t A www.iounix.com

反向解析

  1. 編輯/etc/named.rfc1912.zones

    zone "209.168.192.in-addr.arpa" IN {
         type master;
         file "192.168.209.zone";
     };
  2. 編輯/var/named/192.168.209.zone

    $TTL 3600
    
     @       IN      SOA     iounix.com.     admin.iounix.com. (
             2017052301
             1H
             10M
             3D
             1D )
     @       IN      NS      ns1.iounix.com.
     100     IN      PTR     www.iounix.com.
     200     IN      PTR     bbc.iounix.com.
  3. 檢查

    ~]# named-checkconf
     ~]# named-checkzone 209.168.192.in-addr.arpa 192.168.209.zone
  4. 修改問價權限

    ~]#chown  .named  /var/named/192.168.209.zone
     ~]#chmod  o=  /var/named/192.168.209.zone
  5. 測試

    ~]# dig -x 192.168.209.100 @192.168.209.134
    
     ;; QUESTION SECTION:
     ;100.209.168.192.in-addr.arpa.    IN    PTR
    
     ;; ANSWER SECTION:
     100.209.168.192.in-addr.arpa. 3600 IN    PTR    www.iounix.com.
    
     ;; AUTHORITY SECTION:
     209.168.192.in-addr.arpa. 3600    IN    NS    ns1.iounix.com.
    
     ;; ADDITIONAL SECTION:
     ns1.iounix.com.        3600    IN    A    192.168.209.134

主從服務器

  • 當主服務器發生改變時,序列號加1,之后tail /var/log/messages,消息顯示從服務器到主服務器中更新數據;
  1. 在從服務器中,編輯:/etc/named.rfc1912.zones

    正向解析:
    
     zone "iounix.com" IN {
         type slave;
         file "slaves/iounix.zone";
         masters { 192.168.209.134; };
     };
    
     反向解析:
    
     zone "209.168.192.in-addr.arpa" IN {
             type slave;
             file "slaves/192.168.209.zone";
             masters { 192.168.209.134; };
     };
    • 在主服務器中編輯:/var/named/linux.io.zone

      $TTL 3600
      
      iounix.com.     IN      SOA     iounix.com.     admin.iounix.com. (
            2017052301
            1H
            10M
            3D
            1D )
            IN      NS      ns1.iounix.com.
            IN      NS      ns2.iounix.com.
      ns1     IN      A       192.168.209.134
      ns2     IN      A       192.168.209.137
      www     IN      A       172.16.0.1
      aaa     IN      A       4.1.1.1
      web     IN      CNAME   www
      
      注:編輯完之后,修改序列號,以便通知從服務器;

      主服務器上:rndc reload
      主服務器上:tail /var/log/messages

      May 27 22:36:58 localhost named[4447]: client 192.168.209.137#57555 (iounix.com): transfer of 'iounix.com/IN': AXFR started
      May 27 22:36:58 localhost named[4447]: client 192.168.209.137#57555 (iounix.com): transfer of 'iounix.com/IN': AXFR ended
      May 27 22:36:58 localhost named[4447]: client 192.168.209.137#50945: received notify for zone 'iounix.com'
    • 在主服務器上編輯:/var/named/192.168.209.zone

      $TTL 3600
      
      @       IN      SOA     iounix.com.     admin.iounix.com. (
            2017052303
            1H
            10M
            3D
            1D )
      @       IN      NS      ns1.iounix.com.
      137     IN      NS      ns2.iounix.com.
      100     IN      PTR     www.iounix.com.
      200     IN      PTR     bbc.iounix.com.
      注:編輯完之后,修改序列號,以便通知從服務器;

      主服務器上:rndc reload
      主服務器上:tail /var/log/messages

      May 27 22:54:34 localhost named[4447]: zone 209.168.192.in-addr.arpa/IN: loaded serial 2017052303
      May 27 22:54:34 localhost named[4447]: zone 209.168.192.in-addr.arpa/IN: sending notifies (serial 2017052303)
    • 測試時:dig -t A web.iounix.com @192.168.209.137
      注意:使用從服務器進行解析

      ;; ANSWER SECTION:
      web.iounix.com.        3600    IN    CNAME    www.iounix.com.
      www.iounix.com.        3600    IN    A    172.16.0.1
      
      ;; AUTHORITY SECTION:
      iounix.com.        3600    IN    NS    ns1.iounix.com.
      iounix.com.        3600    IN    NS    ns2.iounix.com.
      
      ;; ADDITIONAL SECTION:
      ns1.iounix.com.        3600    IN    A    192.168.209.134
      ns2.iounix.com.        3600    IN    A    192.168.209.137
    • 測試時:~]# dig -x 192.168.209.100 @192.168.209.137
      注意:使用從服務器進行解析

      ;; QUESTION SECTION:
      ;100.209.168.192.in-addr.arpa.    IN    PTR
      
      ;; ANSWER SECTION:
      100.209.168.192.in-addr.arpa. 3600 IN    PTR    www.iounix.com.
      
      ;; AUTHORITY SECTION:
      209.168.192.in-addr.arpa. 3600    IN    NS    ns1.iounix.com.
      
      ;; ADDITIONAL SECTION:
      ns1.iounix.com.        3600    IN    A    192.168.209.134

子域授權

  1. 在主服務器中進行編輯/var/named/linux.io.zone

    $TTL 3600
     linux.io.    IN    SOA    linux.io. admin.linux.io. (
         2017052302
         1H
         10M
         3D
         1D )
         IN    NS    ns1.linux.io.
         IN    NS    ns2.linux.io.
     ns1    IN    A    192.168.209.134
     ns2    IN    A    192.168.209.135
     www    IN    A    172.16.0.1
     aaa    IN    A    8.8.8.8
     web    IN    CNAME    www
    
     ops.linux.io.    IN    NS    ns1.ops.linux.io.
     dev.linux.io.    IN    NS    ns1.dev.linux.io.
    
     ns1.ops        IN    A    192.168.209.137
     ns1.dev        IN    A    192.168.209.136
  2. 同步時間:ntpdate 172.16.0.1

  3. 編寫子域服務器192.168.209.137中的/etc/named.conf文件;

    options {
             listen-on port 53 { 127.0.0.1; 192.168.209.137; };
             allow-query   { any; };
    
             dnssec-enable no;
             dnssec-validation no;
  4. 在192.168.209.137中配置/etc/named.rfc1912.zones

    zone "ops.linux.io" IN {
             type master;
             file "ops.linux.io.zone";
     };
  5. 在子域服務器中編寫/var/named/ops.linux.io.zone

    $TTL 600
     @       IN      SOA     ops.linux.io. admin.ops.linux.io. (
                     2017052401
                     1H
                     5M
                     3D
                     2H )
     @               IN      NS      ns1
     ns1             IN      A       192.168.209.137
     abc             IN      A       6.6.6.6
  6. 修改文件權限

    ~]# chown  .named  /var/named/ops.linux.io.zone
     ~]# chmod  o=  /var/named/ops.linux.io.zone
  7. 檢查53端口是否開啟

  8. rndc reload

  9. 檢查錯誤

    ~]# named-checkconf
     ~]# named-checkzone ops.linux.io /var/named/ops.linux.io.zone 
     zone ops.linux.io/IN: loaded serial 2017052401
     OK
     [root@centos7 named]# tail /var/log/messages
  10. 父域解析:dig -t A ns1.ops.linux.io @192.168.209.134;flags:沒有aa
    子域解析:dig -t A ns1.ops.linux.io @192.168.209.137;flags:有aa

轉發

  • forward為only時找不到時,不找根;
  • forward為first找不到時,找根;
    正常情況下,子域無法解析父域,如果實現轉發可解析父域

  • 區域轉發

    1. 子域/etc/named.rfc1912.zones

      zone "linux.io" IN {
               type forward;
               forward only;
               forwarders { 192.168.209.134; 192.168.209.135; };
       };
    2. 此時子域解析父域,可以實現;但flags中沒有aa
      dig -t A ns1.linux.io @192.168.209.137

  • 全局轉發

    1. 在要設置全局轉發的主機的/etc/named.conf中設置

      options中加入
           forward only;
           forwarders { SERVER_IP; };
    2. 再次測試dig -t A www.baidu.com @192.168.209.135

acl訪問控制列表

  1. 在/etc/named.conf中先定義才能使用,放在options之前;

    acl acl_name {
     ip; 或 net/prelen;
    };
  2. 如果是對于全局控制,則在options中:

    allow-recursion { acl_name; };

    如果只是針對于某一個zone的控制,在相對應的zone中進行編輯:

    zone "iounix.com" IN {
         type master;
         file "iounix.com.zone";
         allow-query { acl_name; };
     };
  3. 檢查錯誤,重載配置文件
    named-checkconf
    rndc reload

  4. 測試
    不同的訪問控制指令的表現:在192.168.209.134主機中進行操作;

    • allow-query {}; 允許查詢的主機;

      編輯:/etc/named.conf
        acl test {
                192.168.209.137;
        };
      編輯:/etc/named.rfc1912.zones
        zone "iounix.com" IN {
                type master;
                file "iounix.com.zone";
                allow-query { test; };
        };
      
      在本地主機中(192.168.209.134):
        ~]# dig -t A www.iounix.com @192.168.209.134
        ...
      
        ;; OPT PSEUDOSECTION:
        ; EDNS: version: 0, flags:; udp: 4096
        ;; QUESTION SECTION:
        ;www.iounix.com.            IN    A
        ...
      
      在192.168.209.137中進行:
        ~]# dig -t A www.iounix.com @192.168.209.134
        ;; QUESTION SECTION:
        ;www.iounix.com.            IN    A
      
        ;; ANSWER SECTION:
        www.iounix.com.        3600    IN    A    172.16.0.0
      
        ;; AUTHORITY SECTION:
        iounix.com.        3600    IN    NS    dns2.iounix.com.
        iounix.com.        3600    IN    NS    dns1.iounix.com.
      
        ;; ADDITIONAL SECTION:
        dns1.iounix.com.    3600    IN    A    192.168.209.134
        dns2.iounix.com.    3600    IN    A    192.168.209.137
    • allow-transfer {}; 允許哪些主機做區域傳送;默認是所有主機;

      編輯:/etc/named.conf
      
        acl slavesrvs {
                192.168.209.137;
                127.0.0.0/8;
        };
      
      編輯:/etc/named.rfc1912.zones
      
        zone "iounix.com" IN {
                type master;
                file "iounix.com.zone";
                allow-transfer { slavesrvs; };
        };
      
      在本地主機中(192.168.209.134)
        ~]# dig -t axfr iounix.com @192.168.209.134
        ; Transfer failed.
      
        ~]# dig -t axfr iounix.com @127.0.0.1
        顯示列表
      
      在192.168.209.137的主機
        ~]# dig -t axfr iounix.com @192.168.209.134
        顯示列表
      
      在slavesrvs中沒有設置的主機
        ~]# dig -t axfr iounix.com @192.168.209.134
        ; Transfer failed.
    • allow-recursion { }; 允許哪此主機向當前DNS服務器發起遞歸查詢請求;

      編輯:/etc/named.conf
      
        acl localnet { 
            192.168.209.0/24;
            127.0.0.0/8;
        };
      
        //recursion yes;
        allow-recursion { localnet; };
    • allow-update { }; DDNS,允許動態更新區域數據庫文件中內容; 一般為none

view 智能DNS解析

  1. 在/etc/named.conf中,先定義acl

    acl localnet {
         192.168.209.137;
     };
    
     acl mynet {
         192.168.209.138;
     };
  2. 編輯/etc/named.rfc1912.zones

    view local {
    
         match-clients { localnet; };
    
         .
         .
         .
    
         zone "iounix.com" IN {
             type master;
             file "iounix.com/localnet";
         };
     };
    
     view my {
         match-clients { mynet; };
         zone "iounix.com" IN {
             type master;
             file "iounix.com/mynet";
         };
     };
    
     view ex {
         match-clients { any; };
         zone "iounix.com" IN {
             type master;
             file "iounix.com/any";
         };
     };
  3. 操作命令:
    named-checkconf
    rndc reload
    mkdir /var/named/iounix.com
    cd iounix.com
    vim localnet

    $TTL 600
    
     @    IN    SOA    iounix.com.    admin.iounix.com. (
         2017052701
         1H
         10M
         1D
         2H )
         IN    NS    dns1
     dns1    IN    A    192.168.209.134
     www    IN    A    2.2.2.2

    vim mynet

    $TTL 600
    
     @    IN    SOA    iounix.com.    admin.iounix.com. (
         2017052701
         1H
         10M
         1D
         2H )
         IN    NS    dns1
     dns1    IN    A    192.168.209.134
     www    IN    A    3.3.3.3

    vim any

    $TTL 600
    
     @    IN    SOA    iounix.com.    admin.iounix.com. (
         2017052701
         1H
         10M
         1D
         2H )
         IN    NS    dns1
     dns1    IN    A    192.168.209.134
     www    IN    A    4.4.4.4
  4. 測試:

    • 在192.168.209.137主機

      ~]# dig -t A www.iounix.com @192.168.209.134
      
      ;; QUESTION SECTION:
      ;www.iounix.com.            IN    A
      
      ;; ANSWER SECTION:
      www.iounix.com.        600    IN    A    2.2.2.2
      
      ;; AUTHORITY SECTION:
      iounix.com.        600    IN    NS    dns1.iounix.com.
      
      ;; ADDITIONAL SECTION:
      dns1.iounix.com.    600    IN    A    192.168.209.134
    • 在192.168.209.138主機:

      ~]# dig -t A www.iounix.com @192.168.209.134
      
      ;; QUESTION SECTION:
      ;www.iounix.com.            IN    A
      
      ;; ANSWER SECTION:
      www.iounix.com.        600    IN    A    3.3.3.3
      
      ;; AUTHORITY SECTION:
      iounix.com.        600    IN    NS    dns1.iounix.com.
      
      ;; ADDITIONAL SECTION:
      dns1.iounix.com.    600    IN    A    192.168.209.134
    • 在其他主機上:

      ~]# dig -t A www.iounix.com @192.168.209.134
      
      ;; QUESTION SECTION:
      ;www.iounix.com.            IN    A
      
      ;; ANSWER SECTION:
      www.iounix.com.        600    IN    A    4.4.4.4
      
      ;; AUTHORITY SECTION:
      iounix.com.        600    IN    NS    dns1.iounix.com.
      
      ;; ADDITIONAL SECTION:
      dns1.iounix.com.    600    IN    A    192.168.209.134

原創文章,作者:s,如若轉載,請注明出處:http://www.www58058.com/77276

(0)
ss
上一篇 2017-05-31
下一篇 2017-05-31

相關推薦

  • 磁盤運作方式及分區,掛載等操作

    磁盤運作方式及分區,掛載等操作 磁盤是我們存儲數據的空間,而為了方便我們對數據的管理,我們需要對磁盤進行分區。而在我們創建過分區之后 ,我們為了能 夠訪問磁盤 ,需要對磁盤進行掛載 。文件系統通過為每個文件在分區上分配文件塊的方式把數據存儲在硬盤上。所以,就是使用文件系統在 硬盤分區上對數據塊的各種信息的操作。這樣就需要我們了解磁盤的運作方式,學會磁盤的分區…

    Linux干貨 2016-08-29
  • kickstart 的使用!

    簡介 1.什么是kickstart KickStart是一種無人職守安裝方式。KickStart的工作原理是通過記錄典型的安裝過程中所需人工干預填寫的各種參數,并生成一個名為ks.cfg的文件;在其后的安裝過程中(不只局限于生成KickStart安裝文件的機器)當出現要求填寫參數的情況時,安裝程序會首先去查找KickStart生成的文件,當找到合適的參數時,…

    Linux干貨 2016-11-03
  • N25-第18周博客作業

    1、為LNMP架構添加memcached支持,并完成對緩存效果的測試報告; LNMP的安裝過程不再贅述. # yum install -y memcached # cat /etc/sysconfig/memcached  PORT=”11211″   &nb…

    2017-05-21
  • 高級文件系統管理2

    邏輯卷管理器(LVM),允許對卷進行方便操作的抽象層,包括重新設定文件系統的大小。允許在多個物理設備間重新組織文件系統。其步驟大體如下:將設備指定為物理卷,用一個或者多個物理卷來創建一個卷組,物理卷你是用固定大小的物理區域(PE)來定義的,在物理卷上創建的邏輯卷是由物理區域組成,可以在邏輯卷上創建文件系統。 一、知識整理 1、LVM設備名:dm-#。 軟鏈接…

    Linux干貨 2016-09-13
  • week7

    1、創建一個10G分區,并格式為ext4文件系統; (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳; fdisk /dev/sdb  按提示創建出來10G分區 查看1:…

    Linux干貨 2016-12-08
  • Linux文本處理三劍客之GNU awk的使用

    awk: Aho, Weinberger, Kernighan,報告生成器,格式化文本輸出 有多種版本:New awk(nawk),GNU awk(gawk) gawk –模式掃描和處理語言 基本用法:     awk[options] ‘program’ var=value file…   &nb…

    Linux干貨 2016-10-06
欧美性久久久久