摘 要:系統的講述在Linux系統中如何使用BIND系統構建主域名服務器,分析主域名服務器的構建過程和驗證方法。
關鍵詞:BIND;DNS;服務器
1 引言
BIND(Berkeley Internet Name Daemon)是用于對域名解析的一種方法,在Linux系統中,能夠提供域名服務的DNS服務器程序有很多,但是應用最廣泛的DNS服務程序,它可以運行在大多數的Linux服務器中,主要目的是為客戶端提供本域內主機名與IP地址的解析,下面通過實例來學習主域名服務器的配置。
2 BIND的安裝
BIND安裝包可以從官方站點(https://www.isc.org/)中獲取最新版本,本文以RHEL5都比光盤中自帶的rpm安裝包為例。
若系統中未安裝BIND相關軟件包,則通過以下方法實現安裝。
# mount /dev/cdrom /media/cdrom //掛載系統光盤
# cd /media/cdrom/Server///
# rpm -ivh bind-9.3.3-7.el5.i386.rpm //此軟件包提供了域名服務的主要程序及相關文件
# rpm -ivh bind-utils-9.3.3-7.el5.i386.rpm //提供了對DNS服務器的測試工具程序
# rpm -ivh bind-chroot-9.3.3-7.el5.i386.rpm //為BIND提供一個偽裝的根目錄增強安全性
# rpm -ivh caching-nameserver-chroot-9.3.3-7.el5.i386.rpm // 提供默認的配置文件
3 使用BIND構建主域名服務器
基本的網絡環境如下:
主域名服務器位于Internet中,IP地地址為192.168.1.1,主機名為“ns1.abc.com”。
負責的DNS域為“abc.com”。
為以下服務器提供正向解析。
(1)網站服務器“www.abc.com”,IP地址為“192.168.1.2”。
(2)郵件服務器“mail.abc.com”,IP地址為“192.168.1.3”。
(3)主域名服務器“ns1.abc.com”,IP地址“192.168.1.1”.
為上述服務器提供反向解析。
為“abc.com”域內的其他主機提供泛域名解析,對應的IP為“192.168.1.2”
使用BIND構建該主域名服務器的基本步驟如下:
(1)確定本機的主機名、IP地址
將服務器的IP地址設為192.168.1.1,主機名設為ns1.abc.com,修改方法如下:
[root@www ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 //設服務器IP地址
IPADDR=192.168.1.1
[root@www ~]# vi /etc/sysconfig/network //設置主機名
HOSTNAME=ns1.abc.com
為了提高域名解析效率,可以將DNS服務器的地址映射直接寫入到“/etc/hosts”文件中,并在“/etc/resolv.conf”文件中指定DNS服務器地址。
[root@ns1 ~]# vi /etc/hosts
202.97.223.1 ns1.benet.com ns1
[root@ns1 ~]# vi /etc/resolv.conf
search abc.com
nameserver 192.168.1.1
(2)建立主配置文件
[root@ns1 ~]# vi /var/named/chroot/etc/named.conf
options {
directory \"/var/named\";
};
zone\"abc.com\"IN {
type master;
file \"abc.com.zone\";
};
zone\"1.168.192.in-addr.arpa\"IN {
type master;
file\"192.168.1.arpa\";
};
(3)建立區域數據庫文件
根據named.conf中的zone設置,分別建立對應的正向、反向區域數據庫文件。
(1)建立正向解析數據庫文件
[root@ns1 ~]# vi /var/named/chroot/var/named/abc.com.zone
$TTL 86400
@ SOA benet.com. admin.benet.com. (
2013043001
4H
30M
12H
1D
)
@INNSns1.abc.com.
INA192.168.1.1
INMX 10mail.benet.com.
ns1INA192.168.1.1
mailINA192.168.1.3
wwwINA192.168.1.2
*INA192.168.1.2
(2)建立反向解析數據庫文件
[root@ns1 ~]# vi /var/named/chroot/var/named/192.168.1.arpa
$TTL86400
@SOA abc.com. admin.abc.com. (
2013043001
4H
30M
12H
1D
)
INNSns1.abc.com.
1INPTRns1.benet.com.
2INPTRwww.abc.com.
3INPTRmail.abc.com.
以上完成了對主域名服務器的整體配置,接下來啟動named服務。
(4)啟動named服務
[root@ns1 ~]# service named start //重新啟動用restart,停止用stop命令
(5)驗證主域名服務器
在客戶端將DNS服務器指向192.168.1.1(主域名服務器的IP地址),使用nslookup命令驗證DNS查詢結果。
[root@ns1 ~]# nslookup ns1.abc.com //驗證正向記錄解析結果
Server: 192.168.1.1
Address: 192.168.1.1#53
Name: ns1.abc.com
Address: 192.168.1.1
[root@ns1 ~]# nslookup 192.168.1.3 //驗證反向記錄解析結果
Server: 192.168.1.1
Address: 192.168.1.1#53
1.1.168.192.in-addr.arpa name=ns1.abc.com.
以上內容為構建主域名服務器的基本配置、啟動及驗證過程,通過BIND域名服務系統還可構建從域名服務器,分離解析服務器等,所以BIND域名服務系統是應用最廣泛的DNS服務程序。
參考文獻
[1]北京阿博泰北大青鳥信息技術有限公司編著.Linux網絡服務.科學技術文獻出版社,2009(79).
[2]周增國,龐有軍.Linux平臺下校園網DNS服務的設計與實現[J].大連大學學報,2008(3).