近來研究dns域名服務器,下面總結一下簡單dns域名服務器的搭建過程。
所需軟件:system-config-bind-4.0.3-4.el5.centos
bind-chroot-9.3.6-16.P1.el5_7.1
bind-9.3.6-16.P1.el5_7.1
ypbind-1.19-12.el5
bind-libs-9.3.6-16.P1.el5_7.1
bind-utils-9.3.6-16.P1.el5_7.1
caching-nameserver(安裝此軟件會生成默認的配置文件,避免自己寫的配置文件有錯誤。)
配置文件:named.conf (主配置文件) example.com.zone(區域文件)192.168.1.100.local(反向區域文件)
一、 一個簡易的DNS服務器設定流程主要分爲以下3步:
1、建立主配置文件named.conf,該文件的最主要的目的是,設置該DNS服務器能夠管理哪些區域(Zone),以及這些區域所對應的區域文件名和存放路徑。
2、建立區域文件,依照named.conf文件中指定的路徑建立區域文件,該文件主要記錄該區域內的資源記錄。例如:www.example.com對應的ip地址爲192.168.1.100
3、重新加載配置文件或重新啓動named服務,是配置生效。
下面用一個示意圖來講解一下:
1、客戶端需要獲得www.example.com這臺主機的ip地址,將查詢請求發送給DNS服務器。
2、服務器收到請求後,查詢主配置文件named.conf,看是否能夠管理example.com的區域。如果有,它將提供example.com區域文件所在路徑及文件名。
3、服務器根據named.conf文件中提供的路徑和文件名找到example.com區域所對應的配置文件,並從中找到www.example.com主機所對應的ip地址。
4、經查詢結果反饋給客戶端,完成整個查詢過程。
二、搭建步驟如下:
1、在linux系統中安裝上面的rpm包,我的linux系統是Centos5.5,所以直接用yum命令就ok了。
[root@localhost ~]# yum -y install bind*
[root@localhost ~]# yum -y install caching-nameserver
2、修改配置文件。我的named.conf內容如下:
options {
directory "/var/named"; //設置存放配置文件的目錄
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
version "4.9.11";
auth-nxdomain no;
};
#根區域,記錄全球根區域域名服務器的信息,域名通常用“.”表示類型爲“hint”
zone "." {
type hint;
file "named.ca";
};
#授權DNS服務器能夠管理example.com區域,並把該區域的區域文件命名爲“example.com.zone”
zone "example.com" {
type master; //設置類型爲主域名服務器,“slave"代表輔助域名服務器
file "example.com.zone";
};
#設置反向解析區域,並把反向區域的區域文件命名爲“192.168.1.local”
zone "1.168.192.in-addr.arpa" {
type master;
file "192.168.1.local";
};
3、example.com.zone文件
$TTL 86400
@ IN SOA example.com. root.example.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS example.com.
www IN A 192.168.1.100
bbs IN CNAME www.example.com.
4、192.168.1.local文件
$TTL 86400
@ IN SOA example.com. root.example.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS example.com.
100 IN PTR www.example.com.
三、啓動服務並測試。
[root@localhost /]#service named start
把服務器的dns改爲本機的ip地址。
[root@localhost /]#vi /etc/resolve.conf
添加爲一下內容:
nameserver 192.168.1.100
search localdomain
使用host命令測試能否把ip地址解析爲域名
[root@localhost /]#host 192.168.1.100
100.1.168.192.in-addr.arpa domain name pointer www.example.com.
使用host命令測試能否把域名解析爲對應的ip地址
[root@localhost /]#host www.example.com
www.example.com has address 192.168.1.100
如果出現上面的提示信息就說明DNS服務器已搭建成功。
補充:資源記錄文件
SOA記錄:每個區在區的開始處都包含一個起始授權記錄,簡稱SOA記錄。SOA定義了域的全局參數,進行整個域死亡管理。一個區域文件只允許存在唯一的SOA記錄。
NS記錄:名稱服務器資源記錄表示該區域的授權服務器,他們表示SOA資源記錄中指定的區域的主和輔助服務器,也表示了任何授權區的服務器,每個區在區根處至少包含一個NS記錄。
A記錄:把域名映射到ip地址
PTR記錄:把ip地址映射到域名
CNAME記錄:別名
MX記錄:郵件交換