1. 程式人生 > 實用技巧 >內網DNS伺服器

內網DNS伺服器

內網DNS 伺服器

環境:Centos 7

IP :5.5.5.100

域名:mac.cc

伺服器型別

主伺服器:在特定區域內具有唯一性,負責維護該區域內的域名與IP地址之間的對應關係。

從伺服器:從主伺服器中獲得域名與IP地址的對應關係並進行維護,以防主伺服器宕機等情況。

快取伺服器:通過向其他域名解析伺服器查詢獲得域名與IP地址的對應關係,並將經常查詢的域名資訊儲存到伺服器本地,以此來提高重複查詢時的效率。

DNS 查詢過程

  • DNS安裝配置

    1. 安裝以及主要配置檔案

      yum install bind-chroot -y 
      

      主配置檔案(/etc/named.conf)# 定義bind服務程式的執行

      區域配置檔案(/etc/named.rfc1912.zones)# 用來儲存域名和IP地址對應關係的所在位置

      資料配置檔案目錄(/var/named) # 該目錄用來儲存域名和IP地址真實對應關係的資料配置檔案

      vim /etc/named.conf
      options {
        listen-on port 53 { any; }; # 改為any,伺服器上的所有IP地址都可以提供DNS服務
        listen-on-v6 port 53 { ::1; };
        directory "/var/named";
        dump-file "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query { any; };  # 修改這一行為any,允許所有人可以向本DNS伺服器發起查詢請求
        dnssec-enable no;  # yes---> no
        dnssec-validation no; # yes ---> no
        forwarders { 119.29.29.29;114.114.114.114; }; # 如果此DNS無法解析的將轉發至此處的DNS解析,將解析結果返回至客戶端,配置快取DNS的時候啟用此引數
       ...
       };    #其他配置保持預設即可
      
    2. 正向解析和反向解析配置

      正向解析:即查詢域名和IP的對應關係,域名到IP的查詢

      反向解析:即查詢IP和域名的對應關係,IP到域名的查詢

      • 正向解析配置
      vim /etc/named.rfc1912.zones
      // 正向解析,域名到IP
      zone "mac.cc" IN {
          type master;
          file "mac.cc.zone";                                                                                                                                                           
          allow-update { none; };
      };
      
      # 注意此處,一定要加-a,保持許可權,單純cp會出啟動因為許可權的錯誤
      # 正向的的解析記錄值
      cp -a /var/named/named.localhost /var/named/mac.cc.zone
      vim /var/named/mac.cc.zone
      $TTL 1D
      @   IN SOA  mac.cc.  root.mac.cc. (
                          0   ; serial
                          1D  ; refresh
                          1H  ; retry
                          1W  ; expire
                          3H )    ; minimum
              NS      ns.mac.cc.
      ns      IN A    5.5.5.100
              IN MX 10 mail.mac.cc.                                                                                                                                                     
      mail    IN A    5.5.5.100   # 解析的A記錄
      www     IN A    5.5.5.100
      down    IN A    5.5.5.100
      media   IN A    5.5.5.100
      note    IN A    5.5.5.100
      git     IN A    5.5.5.100
      file    IN A    5.5.5.100
      wiki    IN A    5.5.5.100
      rrtv    IN A    5.5.5.100
      ng      IN A    5.5.5.100
      @       IN A    5.5.5.100
      docker  IN A    5.5.5.100
      share   IN A    5.5.5.100
      wls     IN A    5.5.5.100
      reg     IN A    5.5.5.100
      
      • 反向解析的配置
      vim /etc/named.rfc1912.zones
      // 反向解析,IP到域名
      zone "5.5.5.in-addr.arpa" IN {
          type master;
          file "5.5.5.arpa";
      };
      
      # 此處和正相解析一樣,注意保持許可權
      cp -a /var/named/named.loopback /var/named/5.5.5.arpa
      vim /var/named/5.5.5.arpa
      $TTL 1D
      @   IN SOA  mac.cc. root.mac.cc. (
                          0   ; serial
                          1D  ; refresh
                          1H  ; retry
                          1W  ; expire
                          3H )    ; minimum
          NS      ns.mac.cc.
      ns  A       5.5.5.100
      100 PTR     ns.mac.cc.
      100 PTR     www.mac.cc.
      100 PTR     share.mac.cc.
      100 PTR     wiki.mac.cc.
      100 PTR     blog.mac.cc.   # 注意後面的. 
      100 PTR     down.mac.cc.
      100 PTR     file.mac.cc.
      100 PTR     media.mac.cc.
      100 PTR     mail.mac.cc.
      100 PTR     git.mac.cc.
      100 PTR     docker.mac.cc.
      100 PTR     rrtv.mac.cc.
      100 PTR     note.mac.cc. 
      
    3. 啟動DNS服務

      systemctl start named 
      systemctl enable named 
      
    4. 客戶端測試

      Linux
      echo "DNS1=5.5.5.100" >> /etc/sysconfig/network-scripts/ifcfg-enp2s0
      echo "nameserver 5.5.5.100" > /etc/resolv.conf
      systemctl restart network
      
      nslookup 
      > wls.mac.cc
      Server:		5.5.5.100
      Address:	5.5.5.100#53
      
      Name:	wls.mac.cc
      Address: 5.5.5.100
      > 5.5.5.100
      100.5.5.5.in-addr.arpa	name = share.mac.cc.
      100.5.5.5.in-addr.arpa	name = rrtv.mac.cc.
      100.5.5.5.in-addr.arpa	name = file.mac.cc.
      100.5.5.5.in-addr.arpa	name = ns.mac.cc.
      ...
      100.5.5.5.in-addr.arpa	name = www.mac.cc.
      > google.com
      Server:		5.5.5.100
      Address:	5.5.5.100#53
      
      Non-authoritative answer:
      Name:	google.com
      Address: 172.217.160.110
      > 172.217.160.110
      110.160.217.172.in-addr.arpa	name = tsa03s06-in-f14.1e100.net.
      
      Authoritative answers can be found from:
      in-addr.arpa	nameserver = d.in-addr-servers.arpa.
      ...
      in-addr.arpa	nameserver = a.in-addr-servers.arpa.
      in-addr.arpa	nameserver = e.in-addr-servers.arpa.
      e.in-addr-servers.arpa	internet address = 203.119.86.101
      a.in-addr-servers.arpa	internet address = 199.180.182.53
      ...
      f.in-addr-servers.arpa	has AAAA address 2001:67c:e0::1
      
    5. 至此,這臺可以作為主DNS(解析內網域名)也可以作為快取DNS (解析公網域名)的伺服器就搭建完成了,可以愉快的在內網中隨意設定域名並解析了網站以及服務了