歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix教程 >> UNIX下DNS服務器之創建篇(上)

UNIX下DNS服務器之創建篇(上)

日期:2017/2/27 17:42:53   编辑:Unix教程

  本文主要和大家討論在UNIX環境下,使用BIND服務器軟件創建一個DNS主域服務器。我們知道在安裝好一個UNIX系統後,BIND軟件也隨系統基本上安裝好的,要做的工作是對有關的文件參數進行相關的修改與配置。
  
  通常我們可以通過檢查/var/log目錄或系統上它的等價目錄下的日志文件來確定目前擁有的BIND的版本。BIND服務器守護進程named在啟動時將版本號記錄到系統日志中(設施“守護進程”)。用grep查找類似下面這樣的行:
   
  第一行取自HP-UX 11.00發布附帶的情況,第二行來自我們本地維護的一台SunOS機器。後一行撒了一個小謊,因為BIND 8.2.2的補丁4沒有增加補丁級別。實際上是8.2.2-P4。
  
  如果你需要升級BIND軟件的版本的話,可以到www. isc.com網站上下載BIND新版本,如bind-9.0.0.tar打包源文件,解壓並使用tar得到文件的內容,接下來要編譯BIND,需要運行configure命令,從而產生如下的輸出:
   
  下一步,利用make命令構造二進制碼:
   
  最後,通過構造測試程序來測試二進制代碼:
  
  如果所有測試都通過了,就可以執行“make install”安裝新代碼。
  
  UNIX系統的域名解析
  
  Internet上常見的域名解析的有下面兩種方式:
  
  名字到地址的解析(正向解析)
  如:www.study.js.cn è 61.155.107.131
  
  地址到名字的解析(反/逆向解析)
  如:61.155.107.131è www.study.js.cn
  
  因此我們在配置UNIX域名服務器時,在互聯網上要實現正向/反向解析,只有完成這兩種解析方式,才可以說真正意思上的域名服務器。現在許多Internet上域名服務器特別是Windows系統的域名解析只實現正向解析。
  
  UNIX 的DNS服務器創建
  
  下面以Solaris為例來說明UNIX主域服務器創建過程,對於隨Solaris7、8提供的BIND 8,主要配置文件是/etc/named.conf,BIND4 以及更早的版本使用名為/etc/named.boot的配置文件。/etc/named.conf 文件負責控制DNS服務器的行為,它提供了以下關鍵詞,用來定義操作聲明:
  acl----定義一個訪問控制列表,哪些客戶可以使用該服務器。
  
  include ----讀入一個包含聲明的外部文件,該文件使用與/etc/named.conf相同的格式。這在配置文件非常大時是很有用的,可以將不同的部分分成在邏輯上相關的幾個文件。
  logging----確定在聲明指定的日志文件中記錄哪些服務器活動。
  options----定義本地服務器的操作特征。
  server----定義其他服務器的操作特征。
  zone----創建本地DNS區域。
  
  在Solaris 中,in.named為進程域名服務器。通過網絡初始化腳本S72inetsvc在level 2級上啟動的,啟動後,它讀取/etc/named.conf以獲取它所管理的區域和區域數據庫文件。區域文件除了包含主機名到IP地址的映射外,還包含其他內容。域名服務器的配置過程包括下列步驟:
  1)注冊一個域名
  2)創建一個主機名和ip地址的列表
  3)創建/etc/named.conf文件
  4)創建區域數據文件
  
  在區域數據文件中,信息是以特定的格式存儲的。這些信息被定義為資源記錄類型(RR)。常用的標准的資源記錄說明如下:
  SOA(管理開始)資源記錄----在master file(就是bind4裡的zone file)中用到。
  NS(名字服務器)資源記錄----列出了域或區域中的名字服務器
  A (地址)資源記錄----地址資源記錄用於說明DNS 數據庫中主機的IP地址。它可能即使用到絕對主機名(FQHN),也可能使用相對的主機名(短主機名)。
  MX(郵件交換服務器)資源記錄----MX資源記錄負責域內的主機之間的郵件交換服務。
  PTR(指示器)資源記錄----通常用於逆向主機名的解析。
  CNAME ---- 用於定義主機的別名。
  
  幾個必須的配置文件
  
  named.conf
  named.ca
  named.local
  master file(就是bind4裡的zone file) ----在本文中用study.js.cn和study.js.cn.rev 兩個文件。
  
  在這幾個配置文件中,最主要的是named.conf,在/etc下, 它是named啟動時缺省的啟動文件。一個典型的named.conf文件至少包括options和zone,如:
  
  ① named.conf 文件
  
  options {
  directory "/var/named"; //數據庫文件的位置,要創建named這個目錄,
  multiple-cnames yes;
  pid-file "/etc/named.pid";
  };
  //type domin  source host/file backup file
  zone "." in {
  type hint; //這裡hint表示為緩存服務器
  file "named.ca";
  };
  
  zone "0.0.127.in-addr.arpa" in {
  type master; //這裡master表示為主dns server,
  file "named.local";
  };
  
  zone "study.js.cn" in {
  type master;
  file "study.js.cn "; //這裡的study.js.cn就是你要創建的域,正向解析 ,
  };
  
  zone "107.155.61.in-addr.arpa" in {
  type master;
  file "study.js.cn.rev "; // 反向解析,域為107.155.61,
  };
  在這裡面,options定義master file存放的路徑,對應於某一個域, named就會到這裡找數據文件,如有一個www.study.js.cn的require請求,named就會到/var/named下找study.js.cn這個文件,查出www.study.js.cn的ip。Zone定義一個域,如study.js.cn這個域,type定義域名服務器的類型,master 說明這是一個主域名服務器,第一個zone定義本地服務器為它自己的回送域的主服務器,將地址127.0.0.1映射為localhost,幾乎在所有類型的域名服務器裡都可以看見這個域。
  
  第二個zone用來定義一個高速緩存初始化文件,在named.ca 裡至少包含著根服務器的名字和地址(這些根服務器也會變化). 一般named.ca不需要修改,named.local裡只需要修改SOA紀錄裡域和聯系人。file定義study.js.cn這個域的master file。
  
  在/var/named目錄下創建如下幾個數據庫與/etc/named.conf文件中相對應文件named.ca,named.local,study.js.cn 和 study.js.cn.rev。
  
  ② study.js.cn 文件
  
  @ IN SOA dns.study.js.cn.
  root.dns.study.js.cn. (2000120101 ; Serial Number10800; Refresh after 3 hours3600 ; Retry after 1 hour 3600000 ; Expire after 6 weeks86400 ) ; Minimum TTL of 1 day
  IN NS dns
  @   IN MX 10 mail
  
  Localhost IN A 127.0.0.1
  www IN A 61.155.107.131
  dns IN A 61.155.107.131
  mail IN A 61.155.107.132
  ftp IN CNAME dns
  
  這裡面的@定義當前域,也就是study.js.cn., IN定義這是一個inter-net類型的紀錄,SOA(管理開始)標志一個授權域的開始,dns.study.js.cn.為開創該域的服務器,可以用主域名服務器,root.dns.study.js.cn.定義聯系人,root後的.就是email裡的@,括號裡的幾個數字定義和本域有關的幾個參數,單位是秒。
  
  前四個參數用於輔域名服務器更新master file,其中;後面的是說明,serial number用於輔域名服務器判斷主域名服務器的 master file是否更新,第五個參數定義這個域在其他域名服務器的cache 裡的有效期,過了這個時間其他的域名服務器就會到這裡來重新查詢相關的信息。
  
  DNS表明這個域的域名服務器是dns.study.js.cn。NS紀錄可以有多個; @ IN MX 10 mail表示:所有發給當前域的郵件全部轉發到服務器mail上。Localhost、www、dns和mail這四條A紀錄的含義是將localhost解析到127.0.0.1 ;www.study.js.cn和dns.study.js.cn解析到61.155.107.131;將mail.study.js.cn解析到61.155.107.132,定義ftp的別名為dns。
  
  ③ study.js.cn.rev 文件
  
  該文件存放從IP地址到域名的映射信息,文件內容:
  
  @ IN SOA dns.study.js.cn.
  root.dns.study.js.cn. (
  2000120101 ; Serial
  10800 ; Refresh
  1800 ; Retry
  3600000 ; Expire
  86400 ) ; Minimum
  IN NS dns.study.js.cn.
  131 IN PTR dns.study.js.cn.
  132 IN PTR mail.study.js.cn.
  
  語法說明:
  131 IN PTR  dns.study.js.cn.
  表示:當前域(即61.155.107)中地址為 131的服務器的域名為dns.study.js.cn.
  132意義同上,表示的服務器的域名為mail.study.js.cn.
  
  注意,此處服務器的域名要用絕對域名。
  
  ④ named.ca 文件
  
  ;    This file holds the information on root name servers needed to
  ;    initialize cache of Internet domain name servers
  ;    (e.g. reference this file in the "cache . "
  ;    configuration file of BIND domain name servers).
  ;
  ;    This file is made available by InterNIC registration services
  ;    under anonymous FTP as
  ;      file        /domain/named.root
  ;      on server      FTP.RS.INTERNIC.NET
  ;    -OR- under Gopher at  RS.INTERNIC.NET
  ;      under menu     InterNIC Registration Serv
Copyright © Linux教程網 All Rights Reserved