如何利用Linux構建免費的DNS服務器
實驗背景:
小諾公司目前的網絡環境是全部用戶均可以上外網,並且使用的DNS是經過DHCP服務器獲取獲得的,DHCP服務器上填寫的DNS地址爲公網上一臺註冊的DNS服務器。而小諾公司並無搭建DNS服務器。隨着業務的增長,小諾公司員工上網的頻率愈來愈大,因爲域名解析的問題常常形成網絡的擁塞,並且常常有員工抱怨瀏覽的網頁在工做期間(瀏覽高峯期)老是超時。如今公司要求使用Linux搭建一臺緩存型DNS服務器,將員工常常瀏覽的網站和對應的IP地址緩存到本地DNS服務器上,當員工再次訪問訪問過的網站時,只須要在本地緩存DNS服務器上進行域名解析,從而下降了網絡擁塞問題。
安裝緩存型DNS並不須要在公網上進行註冊,只對用戶查詢過的域名解析記錄進行緩存,當用戶首次進行某域名的查詢時,緩存服務器將向其餘DNS服務器進行域名查詢並將查詢結果保存在緩存中。緩存服務器大大提升了經常使用域名的查詢速度,所以特別適合於在局域網內部使用,其主要目的是提升域名解析的速度和節約對互聯網訪問的出口帶寬。
實驗步驟:
1、 安裝域名服務(BIND服務器軟件包)
BIND軟件包是目前Linux下使用最普遍的DNS服務器安裝包,它能夠運行到大多數UNIX服務器中,也包括Linux系統。RHEL4默認沒有安裝BIND服務器軟件包,而只安裝了名爲bind-libs和bind-utils的兩個域名解析相關的軟件包,bind-libs軟件中提供了實現域名解析功能必備的庫文件,bing-utils中提供了對DNS服務器的測試工具程序。
RHEL4系統中提供了RPM格式的BIND服務器軟件包,位於第4章光盤中,安裝文件的名稱是bind-9.2.4-2.i386.rpm。因爲沒有默認進行安裝,須要管理員使用rpm命令進行手動安裝。
BIND服務器的服務程序(腳本)名稱是named,該服務程序在BIND服務器安裝後默認不自動啓動,須要使用chkconfig命令進行手動設置在運行級別3和5的啓動狀態。
BIND服務器的主配置文件是named.conf,保存在「/etc」目錄中,該文件是安裝bind軟件包時生成的,而不是包括在該軟件包中的。
BIND服務器中的域名區域文件須要保存在工做目錄「/var/named/」中,bind軟件包安裝後,該目錄包括兩個空的子目錄,管理員須要在該目錄中保存DNS服務器的區域文件。目錄data中保存全部主區域文件的數據庫,slaves中保存全部從主DNS複製過來的區域文件,並且默認爲只讀。
2、 安裝caching-nameserver軟件包
RHEL4系統爲配置緩存域名服務器專門提供了名爲caching-nameserver的軟件包,該軟件包保存在第一張安裝光盤中,系統默認沒有安裝,須要使用rpm命令進行手動安裝。
安裝完成以後,caching-nameserver將對BIND服務器的配置文件named.conf的內容進行更改,原有文件中的內容被保存在文件「/etc/named.conf.rpmorig」中。
3、 分析配置文件named.conf
1、named.conf中的全局設置
directory用於設置BIND服務器的工做目錄,即域名區域文件保存的目錄,設置的默認值爲「/var/named」。
dump-file用於設置域名緩存文件的保存位置和文件名。
2、根區域設置及根區域文件
根區域是互聯網中全部域名的開始,使用句號(.)表示,緩存服務器只有可以訪問DNS根服務器才能提供正常的域名解析服務。配置信息以下:
type設置爲hint表示該區域的類型是根區域。
file用於設置區域文件,根區域文件的名稱是name.ca,該文件保存在BIND的工做目錄中,即「/var/named」目錄中。
name.ca文件中包括了全世界範圍內互聯網使用的全部DNS根服務器的地址解析信息,是由互聯網管理機構統一發布的,所以不須要用戶更改其中的內容。
全部配置的區域文件都保存在「/var/named/」中
name.ca文件去除註釋行後的內容和形式以下所示:
顯示的全國13臺根DNS服務器的IP地址以及對應的域名。
3、localhos正向解析
Localhost區域的做用是對主機名稱localhost和迴環地址127.0.0.1之間進行解析,表明本機,可做本機的網卡測試用。使用的參數含義以下:
type master 表示該區域的類型爲主服務器。
file設置localhost域的區域文件名爲localhost.zone
localhost.zone區域文件爲localhost.zone,能夠查看到一條A記錄對應127.0.0.1。
4、localhos的反向解析文件
在DNS區域中,每一個區域的正向解析必然有對應的反向解析區域,反向解析區域的做用是將IP地址轉換爲對應的域名。
內容以下:
Localhost的反向解析區域的名稱是0.0.127.in-addr.arpa,名稱後綴爲「.in-addr.arpa」的區域都是反向解析區域,名稱中0.0.127是IP地址127.0.0的倒置,這樣的反向解析區域名稱是named.conf配置文件中的約定。
0.0.127.in-addr.arpa區域的類型是master,即主服務器。區域文件的名稱是named.local,該區域文件具備以下內容:
在named.local區域文件中使用下面的記錄設置了IP地址127.0.0.1對應的主機域名爲localhost。
4、 緩存域名服務器的啓動和測試
緩存域名服務器在安裝caching-nameserver軟件包不須要任何其它的配置就能夠啓動運行,只要這臺DNS服務器可以訪問公網就能夠了,使用的是那十三臺根服務器,經過迭代的方式進行域名查詢。
啓動named服務器。
測試緩存域名服務器,測試localhost的正向解析和127.0.0.1的反向解析。若是可以上公網也能夠測試網絡上某一域名的正向解析和反向解析。