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 20:25
下一篇 2017-05-31 20:28

相關推薦

  • OpenSSL

    OpenSSL由三部分組成:             libencrypto庫             libssl庫 …

    Linux干貨 2017-05-30
  • 小工具(維基百科)

     維基百科  方法:復制C:\Windows\System32\drivers\etc到我的電腦地址欄               打開hosts,選擇文本文檔方式打開              19…

    Linux干貨 2017-07-10
  • tomcat基礎進階

                        tomcat基礎進階 前言 Tomcat Architecture Tomcat Installation Tomcat…

    Linux干貨 2016-04-22
  • 小東北Eric的學習宣言

      大家好,我是網絡班24期新加入的學員,之前工作了幾年,一直沒有找到一個很明確的工作方向,現在終于可以有一個很明確的努力方向啦,那就是跟著馬哥,成為技術大牛,聽馬哥說過,鍵盤敲爛,月薪兩萬,為了這個目標,并且努力超越它,加油!沖!沖!沖!

    Linux干貨 2016-10-19
  • Linux硬鏈接和軟鏈接的區別

    一.Linux鏈接概念 Linux鏈接分兩種,一種被稱為硬鏈接(Hard Link),另一種被稱為符號鏈接(Symbolic Link)。默認情況下,ln命令產生硬鏈接。 【硬連接】 硬連接指通過索引節點來進行連接。在Linux的文件系統中,保存在磁盤分區中的文件不管是什么類型都給它分配一個編號,稱為索引節點號(Inode Index)。在Linux中,多個…

    Linux干貨 2016-10-29
  • sed和vim

    1、如何設置tab縮進為4個字符? vi .vimrc //編輯用戶家目錄下的vim配置文件 set tabstop=4 2、復制/etc/rc.d/init.d/functions文件至/tmp 目錄;替換/tmp/functions 文件中的/etc/sysconfig/init 為/var/log; ~]# cp /etc/rc.d/init.d/fu…

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