歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Red Hat Linux上使用BIND建立DNS服務器

Red Hat Linux上使用BIND建立DNS服務器

日期:2017/3/1 18:09:47   编辑:Linux技術
盡管Linux在桌面計算的世界中還沒有取得引人注目的進展,但作為網絡服務器它已經小有名氣了。由於其出色的可靠性,我們可以放心地在Linux上運行當今Internet時代所必需的各種重要服務程序。由此,Linux最普遍的一些用途包括用作郵件服務器、Web服務器以及DNS服務器。

  下面我們將研究怎樣在Red Hat Linux上使用BIND建立一個DNS服務器。BIND(Berkeley Internet Name Domain)是一個在UNIX/Linux系統上實現的域名解析服務軟件包。我們將學習在Linux上建立和運行一個DNS服務器所需的安裝、初始配置以及系統設置等步驟。

  在本文中我們用Red Hat作為示例,所以你也許希望使用BIND的RPM版本,可以通過搜索www.rpmfind.net找到它,因為使用RPM形式的發行包是安裝BIND最簡便的方法。下載了BIND的RPM之後,比如bind-9.1.0-10.i386.rpm,需要以超級用戶的身份執行rpm -ivh bind-9.1.0-10.i386.rpm命令。在RPM安裝BIND時要注意檢查任何能夠導致安裝失敗的缺失的依賴關系。

  如果你更願意從源碼包安裝的話,在下載如 bind-9.1.3.tar.gz這樣的文件之後需要以超級用戶身份運行tar xvfz bind-9.1.3.tar.gz命令對它進行解壓。就本例而言會生成一個名為bind-9.1.3的目錄,它包含了進行安裝所必需的所有文件。下一步,進入這個新創建的目錄然後執行./configure命令,在腳本程序完成所有配置工作後,運行make,接著運行make install完成安裝過程。現在在你的系統中應該已經安裝好了基本配置的BIND,接下來要根據需要對它進行調整。

  配置BIND

  當系統中安裝好BIND之後,你就可以把它配置成多種方式。最常用的兩種之一是使用ISP類型的設置,DNS服務器接受並解析來自任何人的請求 (或者一組預先定義的用戶);另一種是Web主機方式,服務器只解析對服務域名的請求。當服務器的用途改變時,你也可以隨時改變配置的類型。

  DNS服務器既可以是主控服務器也可以是輔助服務器。主控服務器也稱為主服務器,是判定域名的最終來源。主控服務器同時也是傳送到輔助服務器的區傳送(zone transfer)的源頭。輔助服務器接收所有來自主控服務器的區信息。一個常見的錯誤是試圖改變二級服務器上的區數據庫文件而沒有改變主控服務器上的區數據庫文件(zone file)。為什麼要兩個服務器呢?在任何配置中使用冗余都是一個好主意,這是BIND和DNS的一個原生部分。幸運的是,在機房中增加第二台Linux 機器作為輔助DNS服務器一般來說不會影響你的預算。

  要記住當有兩種類型的服務器時,主控服務器也可以同時擔當其他域的輔助服務器。在大多數ISP環境當中都可以看到這種情形,客戶擁有自己的主控 DNS服務器,同時又出於備份的目的把ISP當作二級服務器。這種類型的配置以及BIND中幾乎所有的其他配置項都是通過named.conf文件完成的。這個文件以純文本的形式存放各服務器信息和區信息。如表A所示。

  named.conf 文件示例

  options {

  notify-source 10.0.0.2;

  pid-file "/var/run/named.pid";

  };

  zone "." {

  type master;

  file "root.db";

  };

  zone "example.com" {

  type master;

  file "/var/named/sample.com.zone";

  };

  DNS服務器有多種可用的選項,如果你需要某種特殊的安裝方式,我建議你通讀一遍附帶的文檔。上面的例子中notify-source指明服務器把區變動通知(NOTIFY)消息發送到什麼地方,當主控服務器檢測到區數據庫文件發生變動時就會向輔助服務器發出這樣的消息。pid-file選項只是告訴守護進程(daemon)服務器寫入ID信息的路徑,通常是/var/run/named.pid,但如果你重新設置了目錄的布局的話也可以根據需要對其進行更改。

  上面的例子中第一個區登記項用來通知BIND在何處定位根服務器的信息。服務器發送和接收的不僅是你自己的域信息同時也包括Internet上所有的域信息。並不是每個服務器上都有每個域名的登記項,但每個服務器都知道怎樣獲取信息。當然,由於列表會定期更新,所以也應當定期作記錄。
上一頁12 下一頁 閱讀全文
Copyright © Linux教程網 All Rights Reserved