歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

用Linux構建企業的域名服務

  在因特網的發展過程中,有兩項技術起了重大的推動作用,一項是www(World Wide Web),另一項則是域名服務系統(DNS) 。 在域名服務系統(DNS)出現之前,所有的因特網主機名都存儲在一個普通文件中,而且網絡上的每台機器都要保留一個副本。這種文件的局限性阻礙了網絡的發展,DNS的出現打破了這種限制,他使用分布式多級數據庫系統代替了普通文件的存儲方式。現在,網絡上的每一個組織都維護著自己的域名數據庫,由系統管理員負責維護網絡中的DNS。 Linux憑著其高度的可靠性、穩定性和低廉的價格,成為建立DNS服務器的優秀平台。在Linux系腄NS服務用伯克利因特網(BIND)軟件實現的,BIND是最初將DNS引入了網絡的軟件,目前DIND被世界廣泛使用,其可靠性,早被成千上萬的用戶所驗證。 要構建企業的域名服務,首先當然是根據企業的資金、規模、發展趨勢、實際物理結構以及行政結構作好規劃,從而決定企業網絡DNS域名的層次結構、DNS服務器的數量、種類與物理位置的放置。作好總體的規劃是重要的第一步。 接下來,我們開始以Red Hat Linux為例,詳細討論利用Linux建立各種類型的DNS服務器。實際有三種:高速緩存服務器、從屬服務器和主服務器。 首先要談一談BIND配置文件的配置語句: (1).設置服務器工作路徑 缺省情況下,/etc/name.conf語句中都設定服務器工作路徑: options { Directory “/var/name”; } 此路徑包含了BIND初始化文件、區域數據庫文件等。 (2).zone語句 zone語句是配置文件中的最重要部分,它有以下功能 ·定義名稱服務器提供服務的區(Zone); ·定義為該區提供服務的名稱服務器的類型; ·定義區的域信息源(域數據庫來自何方); ·定義區的特殊處理選項。 例如: zone “remote.net” in { type master; //服務器類型為主服務器 file “remote.net.host”; //區數據庫文件 check-names warn; //區的特殊處理選項 } 下面開始對每一種服務器進行介紹和配置 1.配置只高速緩存服務器 高速緩存服務器對任何區域都沒有授權。它只能從它的緩 存在本地響應查詢,其他的所有請求都被發送到一個授權服務器,並將這些記錄暫時存放到自己的緩存裡用於提供給其他客戶查詢。一般來說,在大型網絡中,大多數DNS服務器都是這一類服務器。只高速緩存(Caching-Only)的服務器中,named.conf文件的options和zone語句在其他主從服務器配置中都可以找到。因此,只高速緩存服務器的配置是討論服務器配置的重要環節。 基本上,只高速緩存服務器的配置非常普遍,在Red Hat Linux安裝過程中會自動創建,現在我們假設要將toland設置成一個高速緩存服務器以下例子列出了Red Hat的named.conf文件: options { directory “/var/named”; //設定服務器工作路徑 }; // //只高速緩存配置 // zone “.” { type hint; file “named.ca”; //指定BIND初始化文件 // //聲明回路去區 // zone “0.0.127.in-addr.arpa” { type master; file “name.local; }; 2.從屬服務器的配置 從屬服務器與主服務器一樣都是一個區域內的授權服務器。因 為它擁有完整的、最新的有關區域信息的所有信息的拷貝。它定期從主服務器那裡下載整個區域數據庫,並保存在它的本地磁盤上。從屬服務器只是一個區域的備份服務器,它的目的是為了為區域的DNS查詢提供網絡流量平衡與容錯,它無權接受客戶端的DNS注冊。通常,對大多數區域來說,兩個,頂多三個備份服務器就已經綽綽有余了。 配置從屬服務器與配置只高速緩存服務器一樣簡單。從屬服務器named.conf文件的前三條語句同前面講述的一樣,這些語句是從屬服務器配置的基礎。談到這裡,大家可能會聰明的想到走捷徑——將只高速緩存服務器的named.conf修改一下就OK啦——對,的確如此!! 現在我們假設poonremote(172.16.205.1)是remote.net域的主服務器,16.172.in-addr.arpa是反向域。我們要MCL配置成這些域的從屬服務器,現在要在MCL的named.conf文件中添加兩個zone語句,例子如下: options { directory “/var/named”; //設定服務器工作路徑 }; // //從屬服務器的配置 // zone “.” { type hint; file “named.ca”; //指定BIND初始化文件 // //聲明回路區 // zone “0.0.127.in-addr.arpa” { type master; file “name.local”; }; // //聲明正向區 // zone “remote.net” { type slave; //從屬服務器 file “remote.net.hosts”; //正向區數據庫文件 masters { 172.16.205.1;} //主服務器(從該處下載數據庫) }; // //聲明反向區 // zone “16.172.in-addr.arpa” { type slave; file “16.172.reverse”; //反向區數據庫文件 masters { 172.16.205.1;} //主服務器(從該處下載數據庫) }; 3.主服務器的配置 主服務器是一個區域內的授權服務器。它是區域DNS查詢的權威信息來源。它從域管理員創建的本地磁盤文件中載入區域數據庫。它接受客戶端的DNS注冊,並向從屬服務器提供區域數據庫的下載。在一個區域中只能有一個主服務器存在。 主服務器的named.conf文件的配置與只高速緩存服務器、從屬服務器的named.conf文件十分相似。從某種意義上說,這幾種服務器的區別就在於zone命令語句的不同。如果named.conf文件中沒有包含某特定區域的zone命令,那麼它就是只高速緩存服務器,而不是區域的權威服務器;如果zone命令語句中包含了type master子句,那麼它就是區域的主服務器;如果包含了type slave子句,那麼它就是區域的從屬服務器。 現在我們將remotemcsee(172.16.205.1)配置成主服務器。以下是它的name.conf文件配置清單: options { directory “/var/named”; }; // //主服務器的配置 // zone “.” { type hint; file “named.ca”; }; zone “0.0.127.in-addr.arpa” { type master; file “named.local”; }; zone “remote.net” { type master; file “remote.net.hosts”; //正向區域數據庫文件 allow-update { localhost }; //激活動態DNS,接受DHCP //的動態更新此例中本機同是 // DHCP Server * }; zone “16.172.in-addr.arpa” { type master; file “172.16.reverse”; //反向區域數據庫文件 allow-update { localhost }; }; 在這個配置文件中,前三個語句與其它服務器是一樣的。不同的是添加了兩個zone語句,以及type子句。另外,本例中用allow-update指令激活了動態DNS以接受DHCP的動態更新。其實在以前版本的BIND軟件中(包括Red Hat Linux 7.2所使用的BIND)並不真正支持DHCP的動態更新,但在筆者寫這篇文章的時候,真正支持DHCP的動態更新的BIND版本已經發布。無可否認,這是一個很好的解決方案,它大大減少了管理員的工作量以及管理成本。但是,這也將會帶來DNS的安全問題。對於BIND指令的使用以及DNS的安全問題,將會在本人日後的文章中進行詳細論述。 到此為止,各種DNS服務器的配置已基本完成。接下來可以在LINUX上啟動DNS服務了。啟動方法有以下幾種: 1.用named命令啟動 [root@remotemcse] # named 2. chkconfig命令啟動 [root@remotemcse] # chkconfig –level 5 named on 3.用setup啟動 System services -> named 4.用ntsysv啟動 (圖片較大,請拉動滾動條觀看)用空格鍵選中named,用回車確認 5.用Sysv Init啟動 (圖片較大,請拉動滾動條觀看)6.用Service Configuration啟動(這是一個十分好用的工具,是Red Hat 7.2 的新增系統配置工具) 7.用linuxconf啟動(linuxconf將會被Red Hat 淘汰) (圖片較大,請拉動滾動條觀看)從linuxconf窗口左側的菜單中,選擇Control Control Penel Control Service Activity.。窗口的右側會顯示一個服務列表




Copyright © Linux教程網 All Rights Reserved