您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何在DNS上安裝bind,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
四臺測試服務器:mail、www、主dns、從DNS
主DNS: 192.168.1.27
www: 192.168.1.28
mail: 192.168.1.29
從DNS: 192.168.1.34
主、從dns上安裝bind
yum install bind
一、使用新創建配置文件的方式配置DNS
以下操作在主DNS上實現
1、把原配置文件打成bak
[root@localhost ~]# mv /etc/named.conf /etc/named.conf.bak
2、重新建主配置文件named.conf
[root@localhost ~]# vim /etc/named.conf
options {
directory "/var/named";
};
zone "." IN { #根解析
type hint;
file "named.ca"; #根解析文件路徑
};
zone "localhost." IN { #本機正向解析
type master;
file "named.localhost"; #本機正向解析的文件路徑
};
zone "1.0.0.127.in-addr.arpa." IN { #本機反向解析
type master;
file "named.loopback"; #本機反向解析的文件路徑
};
3、修改/etc/named.conf的屬主屬組和權限
[root@localhost ~]# chown root:named /etc/named.conf
[root@localhost ~]# chmod 640 /etc/named.conf
4、檢查配置文件是否有語法錯誤
[root@localhost ~]# service named configtest
zone localhost/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
5、啟動named服務
[root@localhost ~]# service named start
Generating /etc/rndc.key: [確定]
啟動 named: [確定]
6、添加區域到配置文件中/etc/named.conf
zone "shamereedwine.com." IN {
type master;
file "shamereedwine.com.zone";
};
7、創建區域文件shamereedwine.com.zone
cd /var/named目錄中
vim shamereedwine.com.zone
$TTL 600
@ IN SOA dns.shamereedwine.com. admin.shamereedwine.com. (
2017061801
2H
10M
7D
1D )
@ IN NS dns
@ IN MX 10 mail
dns IN A 192.168.1.27
mail IN A 192.168.1.29
www IN A 192.168.1.28
pop IN CNAME mail
ftp IN CNAME www
8、修改區域文件shamereedwine.com.zone的屬組和屬主
[root@localhost named]# chown root:named shamereedwine.com.zone
[root@localhost named]# chmod 640 shamereedwine.com.zone
9、檢查語法是否有錯誤
[root@localhost named]# service named configtest
zone localhost/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone shamereedwine.com/IN: loaded serial 2017061801
10、重新啟動named服務
[root@localhost named]# service named restart
停止 named:. [確定]
啟動 named: [確定]
11、使用dig命令測試dns解析
[root@localhost named]# dig -t NS shamereedwine.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> -t NS shamereedwine.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52704
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;shamereedwine.com. IN NS
;; ANSWER SECTION:
shamereedwine.com. 600 IN NS dns.shamereedwine.com.
;; ADDITIONAL SECTION:
dns.shamereedwine.com. 600 IN A 192.168.1.27
;; Query time: 1 msec
;; SERVER: 192.168.1.27#53(192.168.1.27)
;; WHEN: Mon Jun 19 07:49:56 2017
;; MSG SIZE rcvd: 69
12、使用dig命令解析pop.shamereedwine.com
[root@localhost named]# dig -t A pop.shamereedwine.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> -t A pop.shamereedwine.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16672
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;pop.shamereedwine.com. IN A
;; ANSWER SECTION:
pop.shamereedwine.com. 600 IN CNAME mail.shamereedwine.com.
mail.shamereedwine.com. 600 IN A 192.168.1.29
;; AUTHORITY SECTION:
shamereedwine.com. 600 IN NS dns.shamereedwine.com.
;; ADDITIONAL SECTION:
dns.shamereedwine.com. 600 IN A 192.168.1.27
;; Query time: 1 msec
;; SERVER: 192.168.1.27#53(192.168.1.27)
;; WHEN: Mon Jun 19 07:54:39 2017
;; MSG SIZE rcvd: 108
二、使用原有配置文件配置DNS
以下操作在主DNS上實現
1、vim /etc/named.conf
options {
directory "/var/named";
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";
recursion yes;
/* Path to ISC DLV key */
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
2、vim /etc/named.rfc1912.zones #在該主配置文件的擴展配置文件里加入shamereedwine.com的域
zone "shamereedwine.com" IN {
type master;
file "shamereedwine.com.zone";
};
3、創建區域文件 #創建shamereedwine.com.zone
cd /var/named
vim shamereedwine.com.zone
$TTL 600
@ IN SOA dns.shamereedwine.com. admin.shamereedwine.com. (
2017061801
1H
5M
3D
12H )
IN NS dns
IN MX 10 mail
dns IN A 192.168.1.27
mail IN A 192.168.1.29
www IN A 192.168.1.28
pop IN CNAME mail
ftp IN CNAME www
chown root:named shamereedwine.com.zone #改變該區域的屬主和屬組
chown 640 shamereedwine.com.zone #改變權限
4、檢查配置文件和區域文件
named-checkconf
named-checkzone "shamereedwine.com" shamereedwine.com.zone
5、重新啟動named服務
service named restart
6、測試解析
[root@dns named]# dig -t NS shamereedwine.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> -t NS shamereedwine.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 240
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;shamereedwine.com. IN NS
;; ANSWER SECTION:
shamereedwine.com. 600 IN NS dns.shamereedwine.com.
;; ADDITIONAL SECTION:
dns.shamereedwine.com. 600 IN A 192.168.1.27
;; Query time: 0 msec
;; SERVER: 192.168.1.27#53(192.168.1.27)
;; WHEN: Wed May 4 02:25:01 2016
;; MSG SIZE rcvd: 69
7、使用nslookup 查看
[root@dns named]# nslookup
> set q=A
> www.shamereedwine.com
Server: 192.168.1.27
Address: 192.168.1.27#53
Name: www.shamereedwine.com
Address: 192.168.1.28
> set q=MX
> shamereedwine.com
Server: 192.168.1.27
Address: 192.168.1.27#53
shamereedwine.com mail exchanger = 10 mail.shamereedwine.com.
> q
Server: 192.168.1.27
Address: 192.168.1.27#53
8、配置反向解析配置文件
vim /etc/named.rfc1912.zones
加入下面所示的反向解析區域參數
zone "1.168.192.in-addr.arpa" IN {
type master;
file "192.168.1.zone";
};
9、配置反向解析區域文件
cd /var/named
vim 192.168.1.zone
$TTL 600
@ IN SOA dns.shamereedwine.com. dnsadmin.shamereedwine.com. (
2017061801
1H
5M
3D
12H )
IN NS dns.shamereedwine.com.
27 IN PTR dns.shamereedwine.com.
28 IN PTR www.shamereedwine.com.
29 IN PTR mail.shamereedwine.com .
chown root:named 192.168.1.zone #更改屬主和屬組
chmod 640 192.168.1.zone #設置權限
10、測試主配置文件和區域文件的正確性
service named configtest
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0
zone shamereedwine.com/IN: loaded serial 2017061801
zone 1.168.192.in-addr.arpa/IN: loaded serial 2017061801
11、重啟服務
service named reload
12、測試反向解析 #解析192.168.1.27
[root@dns named]# dig -x 192.168.1.27
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> -x 192.168.1.27
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42817
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION: #請求
;27.1.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION: #應答
27.1.168.192.in-addr.arpa. 600 IN PTR dns.shamereedwine.com.
;; AUTHORITY SECTION:
1.168.192.in-addr.arpa. 600 IN NS dns.shamereedwine.com.
;; ADDITIONAL SECTION:
dns.shamereedwine.com. 600 IN A 192.168.1.27
;; Query time: 24 msec
;; SERVER: 192.168.1.27#53(192.168.1.27)
;; WHEN: Wed May 4 04:38:55 2016
;; MSG SIZE rcvd: 108
13、使用dig模擬區域傳送
[root@dns named]# dig -t axfr shamereedwine.com @192.168.1.27
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> -t axfr shamereedwine.com @192.168.1.27
;; global options: +cmd
shamereedwine.com. 600 IN SOA dns.shamereedwine.com. admin.shamereedwine.com. 2017061801 3600 300 259200 43200
shamereedwine.com. 600 IN NS dns.shamereedwine.com.
shamereedwine.com. 600 IN MX 10 mail.shamereedwine.com.
dns.shamereedwine.com. 600 IN A 192.168.1.27
ftp.shamereedwine.com. 600 IN CNAME www.shamereedwine.com.
mail.shamereedwine.com. 600 IN A 192.168.1.29
pop.shamereedwine.com. 600 IN CNAME mail.shamereedwine.com.
www.shamereedwine.com. 600 IN A 192.168.1.28
shamereedwine.com. 600 IN SOA dns.shamereedwine.com. admin.shamereedwine.com. 2017061801 3600 300 259200 43200
;; Query time: 249 msec
;; SERVER: 192.168.1.27#53(192.168.1.27)
;; WHEN: Wed May 4 04:48:31 2016
;; XFR size: 9 records (messages 1, bytes 240)
三、配置主從同步服務器
主dns服務器: 192.168.1.27
從dns服務器: 192.168.1.34
yum install bind
1、打開主dns服務器192.168.1.27的主區域文件,添加一條從DNS服務器NS和A記錄
vim /var/named/shamereedwine.com.zone,如下圖所示:
2、從DNS服務器192.168.1.34修改DNS主配置文件,改后的主配置文件如下圖所示:
3、修改主區域配置文件的擴展配置文件/etc/named.rfc1912.zones,添加一個區域,
分別指定主DNS服務器地址192.168.1.27和區域文件的所在路徑 /var/named/slaves/shamereedwine.com.zone
4、啟動服務
注意:從服務器不需要創建區域數據文件,自動從主服務器同步
5、查看系統日志
6、可以看到從dns的區域數據文件已經傳到/var/named/slaves目錄下,文件為shamereedwine.com.zone
7、在從DNS上做解析測試,解析www.shamereedwine.com的域名,如下圖所示:
8、查找本地NS記錄,可以看到有兩個DNS服務器
9、測試同步,在主DNS上的正向區域文件/var/named/shamereedwine.com.zone文件里,加一條A記錄,并把序號加1.
從DNS的/var/named/slaves/shamereedwine.com.zone文件下:可以看到所加的A記錄以成功同步到從dns的區域配置文件中
10、編輯反向區域數據文件/etc/named.rfc1912.zones,加上反向區域解析的參數,主DNS的地址192.168.1.27,
從DNS區域數據文件的路徑/var/named/slaves/192.168.1.zone
11、檢查區域文件是否有語法錯誤、重啟服務、查看日志,如下圖所示:
named-checkconf
service named reload
tail -f /var/log/messages
12、到區域文件的主目錄/var/named/slaves下,可以看到192.168.1.zone已經從主DNS服務器192.168.1.27同步過來
13、測試反向區域同步:
在主DNS192.168.1.27的方向區域數據文件里添加dns2的反向區域數據文件的A記錄并把序列號加1
從DNS的反向解析配置文件,/var/named/slaves/192.168.1.zone
14、設置訪問控制列表
區域傳送控制:
allow-transfer { IP: };
四、配置rndc來管理BIND
rndc:密鑰
rndc:持有一半密鑰,保存于rndc的配置文件中
BIND:持有一半密鑰,保存于主配置文件中
rndc的配置文件/etc/rndc.conf
CentOS,RHEL: 密鑰文件
1、使用rndc生成主配置文件
2、把下面的一段代碼,黏貼到主DNS的配置文件/etc/named.conf里,
3、把上面所加代碼去掉注釋
五、BIND子域授權的實現
在父域的配置文件中添加如下項:
授權的子區域名稱
子區域的名稱服務器
子區域的名稱服務器的IP地址
1、打開主DNS的正向區域數據文件,加入下圖所示的代碼,配置一個tech.shamereedwine.com的授權子域
vim shamereedwine.com.zone
2、在為授權子域提供DNS服務的服務器
(1)、192.168.1.9上安裝bind
(2)、編輯主配置文件/etc/named.conf,如下圖所示:
(3)、編輯/etc/named.rfc1912.zones擴展文件,加入下圖所示的代碼
(4)、編輯區域數據文件
vim /var/named/tech.shamereedwine.com.zone
(5)、修改該區域數據文件tech.shamereedwine.com.zone的屬主、屬組和權限
(6)、啟動bind
3、使用該區域服務器解析子區域www.tech.shamereedwine.com,可以看到解析正常,如下圖所示:
六、配置區域轉發:
配置區域轉發: 轉發域
解析某本機不負責的區域內的名稱時不轉發給根,而是轉發給特定的主機:
zone "ZONE NAME" IN {
type forward;
forwarders { DNS_SERVER; };
forward only|first ;
配置轉發的方式:
轉發非本機負責解析的所有區域:
options {
forward only|first;
forwarders { IP; }
轉發某特定區域:
zone “特定區域” IN {
type forward;
forwarders {IP;}
forward only|first ; }
}
允許使用轉發的前提:本機要在對方的允許的遞歸主機列表中:
1、在子域DNS服務器192.168.1.9上 的擴展配置文件/etc/named.rfc1912.zones中,
配置轉發區域,加入的代碼如下圖所示:
2、檢查配置文件并重啟named服務
3、測試轉發,如下圖所示,表示正常!
4、在子域DNS服務器192.168.1.9上測試本機和互聯網上的域名都可以轉發
編輯主配置文件 vim /etc/named.conf,加入下面的代碼
注意:所加的代碼要放到option里面
編輯擴展配置文件/etc/named.rfc1912.zones,代碼保持如下圖所示:
5、子域DNS服務器192.168.1.9重啟服務
6、解析父域www.shamereedwine.com
7、解析互聯網www.google.com
8、解析自己的域
七、安全控制選項
allow-transfer {};
通常都需要啟用,
allow-query {};
此項通常僅用于服務器是緩存名稱服務器時,只開放查詢功能給本地客戶端:
allow-recursion {};
定義遞歸白名單;
allow-update { none; };
定義允許動態更新區域數據文件的主機白名單
ACL: BIND支持使用訪問控制列表
acl ACL_NAME {
172.16.0.0/16;
192.168.0.0/24
127.0.0.0/8;
};
訪問控制列表只有定義后才能使用:通常放到/etc/named.conf的上面
BIND有四個內置的acl:
any:任何主機
none:無一主機
local:本機
localnet:本機的所在的網絡
定義acl里的網段機器可以遞歸,修改主配置文件/etc/named.conf,加入下面所示的代碼:
關于如何在DNS上安裝bind就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。