運行環境
系統版本:CentOS Linux release 7.3.1611 (Core)
軟件版本:Bind-x
硬件要求:無
安裝過程
1、配置YUM源
[root@localhost ~]# rpm -i https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache
2、安裝Bind
[root@localhost ~]# yum -y install bind
3、配置域名區域
編輯Bind軟件的主配置文件,創建一個解析域名區域,指定服務器類型,指定區域數據庫文件路徑。
[root@localhost ~]# vim /etc/named.conf
#==全局配置==#
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
#設置服務監聽地址和端口,"any"表示監聽所有網卡地址。
directory "/var/named";
#設置Bind的主工作目錄路徑。
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
#設置查詢權限,允許所有客戶端在Bind服務器進行域名查詢解析。
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
#==日志配置==#
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
#==區域配置==#
zone "." IN {
type hint;
file "named.ca";
};
#根區域配置,這里配置不需要做任何修改,客戶端進行域名查詢,第一次會去"."根域去查詢,然后依次迭代查詢。
#"type hint"表示域名區域的服務器類型為根提示服務器,"."根域服務器專屬區域服務器類型。
zone "test.com" IN {
type master;
file "test.com.zone";
};
#創建一個新的正向解析域名區域,一般都是一個二級域名。
# type 設置域名區域的服務器類型,"master"表示為主域名解析服務器。
# file 設置區域數據庫文件存放路徑,區域數據庫即域名解析記錄存儲位置,若為相對路徑,則表示在Bind主工
# 作目錄下。
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
4、配置區域數據庫
我們需要先從模板中拷貝一份區域數據庫文件,在進行配置,拷貝的區域數據庫文件需要給"named"用戶讀取和寫入的權限。
[root@localhost ~]# cp /var/named/named.empty /var/named/test.com.zone
[root@localhost ~]# chown named.named /var/named/test.com.zone
[root@localhost ~]# vim /var/named/test.com.zone
$TTL 3H
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
NS www
www A 192.168.1.130
#添加解析記錄,在區域數據庫配置文件中,"@"和"空白"都表示主域名。
#第一條添加的NS解析記錄,表示將"test.com"主域名解析成"www.test.com"。
#第二條添加的A解析記錄,表示將"www.test.com"三級域名解析成對應的主機地址"192.168.1.130"。
5、檢查域名區域配置和區域數據庫配置是否正確
[root@localhost ~]# named-checkconf /etc/named.conf
[root@localhost ~]# named-checkzone test.com /var/named/test.com.zone
zone test.com/IN: loaded serial 0
OK
6、啟動服務
[root@localhost ~]# systemctl start named
[root@localhost ~]# netstat -lnupt |grep named
[root@localhost ~]# netstat -lnupt |grep named
tcp 0 0 192.168.1.130:53 0.0.0.0:* LISTEN 8871/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 8871/named
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 8871/named
tcp6 0 0 :::53 :::* LISTEN 8871/named
tcp6 0 0 ::1:953 :::* LISTEN 8871/named
udp 0 0 192.168.1.130:53 0.0.0.0:* 8871/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 8871/named
udp6 0 0 :::53 :::* 8871/named
7、測試
我們只需要在客戶端主機網卡適配器中設置DNS服務器為Bind服務器即可,在CMD命令提示符使用"ping"命令或者"nslookup"命令測試一下是否能夠成功解析域名"test.com"和"www.test.com"即可。


