歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux管理 >> Linux維護 >> LINUX學習筆記:DNS服務器設置篇

LINUX學習筆記:DNS服務器設置篇

日期:2017/3/2 10:38:47   编辑:Linux維護

前言:半個月前開始安裝、學習REDHAT LINUX7.0。作為一個Linux新手,不可避免的遇上了一些問題,通過翻閱書籍資料,查看BBS,自己的摸索實踐,也解決了一些問題。

  想到自己的經驗教訓可供他人借鑒,於是大膽寫出來,一來可以當作學習筆記保存,二來希望對剛剛接觸Linux的朋友有所幫助。由於本人能力所限,筆記中有所疏漏不足也在所難免,還請各位高手海涵。

  一、DNS簡介

  DNS就是Domain Name System,它能夠把形如www.szptt.net.cn(深圳之窗)這樣的域名轉換為202.96.134.163這樣的IP地址;沒有DNS,浏覽深圳之窗這個網站時,就必須用202.96.134.163這麼難記的數字來訪問。提供DNS服務的那台電腦,就是DNS服務器。

  DNS服務器可以分為三種,高速緩存服務器(Cache-only server)、主服務器(Primary Name server)、輔助服務器(Second Name Server)。

  DNS的詳細原理、工作流程、術語、概念,限於篇幅,這裡就不說了。可以閱讀專門的文章,如DNS-HOWTO加以了解。

  二、設置目標

  一台RedHat Linux7.0的電腦,IP是10.0.0.39,主機名是netfinity.zrs.com。所處的局域網已有一台DNS服務器,地址是10.0.0.211,負責解析baoan.gov.cn這個域。現在要在10.0.0.39上配置一台DNS服務器,讓它負責zrs.com這個域的解析工作,同時也作為baoan.gov.cn域的輔助DNS服務器。所有相關文件的壓縮包可以從這裡下載。

  三、配置本機為ZRS.COM域的主DNS服務器

  Linux下的dns功能是通過bind軟件實現的。bind軟件安裝後,會產生幾個固有文件,分為兩類,一類是配置文件在/etc目錄下,一類是dns記錄文件在/var/named目錄下。加上其他相關文件,共同設置dns服務器。下面是所有和dns設置相關文件的列表與說明。

  第一類:位於/etc目錄下的有:hosts,hosts.conf,resolv.conf,named.boot,named.conf。

  1、“hosts”文件,定義了主機名和ip地址的對應,其中也有將要運行dns這台電腦的ip地址和主機名。內容:

  127.0.0.1 localhost.localdomain localhost
  10.0.0.39 netfinity.zrs.com netfinity
  2、“hosts.conf”文件,"order hosts bind"語句,指定了對主機名的解析順序是先到hosts中查找,然後到dns服務器的記錄裡查找。“multi on”則是允許一個主機名對應多個ip地址。內容:
  order hosts, bind
  multi on
  nospoof on
  3、“resolv.conf”文件,“nameserver 10.0.0.211”指定了dns服務器的地址。注意,這個文件對普通非dns服務器的電腦(非windows的系統;Windows系統是在“網絡屬性”中設置這項的)來說,是必不可少的。你如果沒有設置本機為dns服務器,你又要能夠解析域名,就必須指定一個dns服務器的地址。你可以最多寫上三個地址,作為前一個失敗時的候選dns服務器。“domain zrs.com”指定默認的域。文件內容:
  domain zrs.com
  nameserver 10.0.0.39
  4、“named.boot”文件是早期版本的bind軟件使用的配置文件,現在新版本中已經讓位於“named.conf”。named.conf是dns server配置的核心文件。下面我們一段一段的來解說。

  // generated by named-bootconf.pl

  options {
  directory "/var/named";
  /*
  * If there is a firewall between you and nameservers you want
  * to talk to, you might need to uncomment the query-source

  * directive below. Previous versions of BIND always asked
  * questions using port 53, but BIND 8.1 uses an unprivileged
  * port by default.
  */
  // query-source address * port 53;
  };

  //
  // a caching only nameserver config
  //

  zone "." IN {
  type hint;
  file "named.ca";
  };

  zone "0.0.127.in-addr.arpa" IN {
  type master;
  file "named.local";
  allow-update { none; };
  };

  這一部分是你安裝了bind軟件後系統自動產生的named.conf文件的原始內容。“directory”指定了dns記錄文件的存放目錄是/var/named。“//”開頭的文字是說明文字,不用管它。接著的兩個“zone”語句定義了dns服務器的根和對應的反向查詢域,並指出根的記錄文件是“name.ca”,根的反向查詢域的記錄文件是“named.local”。這兩個記錄文件也是系統自帶的,不用去改動它。named.conf文件的這一部分內容,我們不必去改動它。

但我們可以在“diretory”下添加一行:forwarders {202.96.134.133;}。202.96.134.133是我這裡電信的dns服務器的地址,forwarders參數指明了其後的ip所在的服務器作為備選的dns服務器。也就是說,把本機的dns不能解析的主機發送到這個備選的dns服務器上,讓它來進行解析。

  zone "zrs.com" IN {
  type master;
  file "named.zrs.com";
  allow-update { none; };
  };
  zone "0.0.10.in-addr.arpa" IN {
  type master;
  file "named.zrs.com.rev";
  allow-update { none; };
  };


  這一部分是手工添加的。定義了“zrs.com”這個域和對應的反向查詢域。“type master”說明本機是“zrs.com”和“0.0.10.in-addr.arpa”這兩個域的主dns服務器(primary name server)。“named.zrs.com”和“named.zrs.com.rev”是域的記錄文件。這兩個文件也是自己創建的,下面我們就來看看這兩個文件。

  第二類:資源記錄文件,位於/var/named目錄下。這個目錄是named.conf中定義的。
  1、named.zrs.com文件內容如下:

  @ IN SOA netfinity.zrs.com. root.netfinity.zrs.com. (
  1997022700 ; Serial
  28800 ; Refresh
  14400 ; Retry
  3600000 ; Expire
  86400 ) ; Minimum
  IN NS netfinity.zrs.com.
  IN MX 10 netfinity.zrs.com.

  netfinity IN A 10.0.0.211
  lily IN A 10.0.0.139
  www IN CNAME netfinity.zrs.com.
  pop3 IN CNAME netfinity.zrs.com.
  smtp IN CNAME netfinity.zrs.com.

  在這個記錄文件中,出現了5種類型的記錄。SOA 是授權起始(Start Of Authority)的縮寫,後面接著寫你的dns服務器的主機名,這裡是“netfinity.zrs.com.”。(注意,主機名稱後面的小圓點。凡是出現在記錄文件了的主機名,記得都要加上這各小圓點。)NS 是名稱服務器資源記錄,指明域中的名稱服務器,這裡就是dns服務器。MX是郵件交換者資源記錄,指明這個域的郵件服務器。你可以寫多個MX記錄,指明多個郵件服務器,優先級別由MX後的數字決定,數字越小,郵件服務器優先權越高。A是主機記錄,把主機和ip地址對應起來。CNAME是別名記錄,它賦予一個主機不同的名稱,如www.zrs.com、pop3.zrs.com其實都是指向同一台主機netfinity.zrs.com。

  2、named.zrs.com.rev文件內容:
  @ IN SOA netfinity.zrs.com. root.netfinity.zrs.com. (
  1997022700 ; Serial
  28800 ; Refresh
  14400 ; Retry
  3600000 ; Expire
  86400 ) ; Minimum
  IN NS netfinity.zrs.com.

  211 IN PTR netfinity.zrs.com.
  139 IN PTR lily.zrs.com.

  這是“zrs.com”的反向域記錄文件,它讓dns服務器提供由ip地址查找主機名的服務。PTR記錄把ip和主機名對應起來。由於一些程序會要求反向查詢,所以反向查詢域的記錄文件最好不要省略。

  到此為止,你已經成功配置了一個dns服務器,它能夠解析“zrs.com”這個域了。

  四、配置本機為BAOAN.GOV.CN域的輔助dns服務器

  輔助DNS服務器,可從主服務器中轉移一整套域信息。區文件是從主服務器中轉移出來的,並作為本地磁盤文件存儲在輔助服務器中。在輔助服務器中有域信息的完整拷貝,所以也可以可以回答對該域的查詢。這部分的配置內容如下:

  zone "baoan.gov.cn" IN {
  type slave;
  file "named.baoan.gov.cn";
  masters { 10.0.0.211; };
  allow-update { none; };
  };
  zone "0.0.10.in-addr.arpa" IN {
  type slave;
  file "named.baoan.gov.cn.rev";
  masters { 10.0.0.211; };
  allow-update { none; };
  };
  可以看到,和主DNS服務器不同地方就是:“type”改為了“slave”,然後指明了主DNS服務器的地址“masters { 10.0.0.211; };”。DNS服務啟動時,就會自動連接10.0.0.211,讀取BAOAN.GOV.CN域的信息,然後保存到本機的named.baoan.gov.cN文件裡。我就是通過這個功能把原來10.0.0.211(系統為windows2000)上的所有記錄復制了一份到10.0.0.39上。

  五、測試DNS服務器

  改動過DNS的相應文件,用“ndc restart”命令重新啟動服務,使改動生效。要測試DNS,可以找一台客戶機,把它的DNS地址設成新建立的DNS服務器地址,然後試試上網,收信,下載等。也可以使用nslookup命令:運行nslookup,輸入要查詢的主機名,看是否返回正確的ip地址。

Copyright © Linux教程網 All Rights Reserved