實(shí)驗(yàn)環(huán)境:
CentOS7 IP:192.168.30.138作為主服務(wù)器馏锡,解析li-zw.com
Centos6 IP:192.168.30.128 作為從服務(wù)器,從主同步數(shù)據(jù)
一伟端,配置主服務(wù)器的配置
options {
listen-on port 53 { 127.0.0.1;192.168.30.138 }; //設(shè)置監(jiān)聽(tīng)I(yíng)P
//listen-on-v6 port 53 { ::1; };
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";
//allow-query { localhost; }; 把只允許本地查詢關(guān)閉
二,新建一個(gè)區(qū)域
zone "li-zw.com" IN { //新建一個(gè)區(qū)域
type master; //類型配置為主服務(wù)器
file "li-zw.com.zone";
allow-update { none; };
};
三匪煌,配置區(qū)域數(shù)據(jù)文件
$TTL 3H
@ IN SOA ns1.li-zw.com. root.li-zw.com. (
201805
3H
30M
1W
1H )
@ IN NS ns1.li-zw.com.
ns1 IN A 192.168.30.138
www IN A 192.168.30.111
檢查配置文件
[root@test2 named]# chmod 640 li-zw.com.zone //修改權(quán)限
[root@test2 named]# chgrp named li-zw.com.zone //修改屬組
[root@test2 named]# named-checkzone li-zw.com /var/named/li-zw.com.zone
zone li-zw.com/IN: loaded serial 201805
OK
[root@test2 named]# dig -t A www.li-zw.com @192.168.30.138
; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> -t A www.li-zw.com @192.168.30.138
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51039
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.li-zw.com. IN A
;; ANSWER SECTION:
www.li-zw.com. 10800 IN A 192.168.30.111
;; AUTHORITY SECTION:
li-zw.com. 10800 IN NS ns1.li-zw.com.
;; ADDITIONAL SECTION:
ns1.li-zw.com. 10800 IN A 192.168.30.138
;; Query time: 0 msec
;; SERVER: 192.168.30.138#53(192.168.30.138)
;; WHEN: 四 5月 10 15:25:08 CST 2018
;; MSG SIZE rcvd: 92
成功解析:
上面結(jié)果中:
QUESTION SECTION:代表當(dāng)前問(wèn)題
ANSWER SECTION:代表問(wèn)題的答案
AUTHORITY SECTION:代表是權(quán)威服務(wù)器給出的答案
ADDITIONAL SECTION:額外的回復(fù)责蝠,把ns服務(wù)器也解析出來(lái)了
四、部署從服務(wù)器
從服務(wù)器主要是在區(qū)域數(shù)據(jù)文件把li-zw.com修改為slave萎庭,并指明masterIP霜医。
zone "li-zw.com" IN {
type slave;
masters { 192.168.30.138; };
file "slaves/li-zw.com";
};
[root@test1 named]# rndc reload
server reload successful
[root@test1 named]# ls slaves/
li-zw.com
成功獲取到li-zw.com
一些安全配置
在主服務(wù)器中,應(yīng)該只允許從服務(wù)器獲取區(qū)域配置文件驳规,而且上面的配置肴敛,每次更新都只會(huì)執(zhí)行完全區(qū)域更新,不會(huì)執(zhí)行增量更新,并且就算區(qū)域數(shù)據(jù)有更新医男,主服務(wù)器也不會(huì)通知從服務(wù)器進(jìn)行數(shù)據(jù)更新砸狞,因?yàn)橹鞣?wù)器并不知道有從服務(wù)器的存在,所以在區(qū)域數(shù)據(jù)配置文件中镀梭,應(yīng)該指定從服務(wù)器刀森。
指定從服務(wù)器
$TTL 3H
@ IN SOA ns1.li-zw.com. root.li-zw.com. (
201805
3H
30M
1W
1H )
@ IN NS ns1.li-zw.com.
@ IN NS ns2.li-zw.com. //在ns記錄中加入從服務(wù)器
ns1 IN A 192.168.30.138
ns2 IN A 192.168.30.128 //并且指定IP
www IN A 192.168.30.111
~
配置成功后,主服務(wù)器有更新的時(shí)候會(huì)主動(dòng)發(fā)送Notify通知從服務(wù)器進(jìn)行數(shù)據(jù)更新
設(shè)置只允許從服務(wù)器更新區(qū)域數(shù)據(jù)
在主服務(wù)器的/etc/named.conf配置文件的options選項(xiàng)下
options {
listen-on port 53 { 127.0.0.1;192.168.30.128; };
listen-on-v6 port 53 { ::1; };
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";
//allow-query { localhost; };
recursion yes;
allow-transfer { 192.168.30.128; }; //只允許特定主機(jī)進(jìn)行區(qū)域傳送
dnssec-enable no;
dnssec-validation no;
智能DNS
就bind來(lái)說(shuō)报账,其視圖特性提供的就是智能dns的功能研底。使用view可以實(shí)現(xiàn)根據(jù)客戶端來(lái)源為不同來(lái)源的客戶端展現(xiàn)同一個(gè)區(qū)域的不同配置,不同來(lái)源的客戶端解析同一個(gè)區(qū)域也可能得到不同的結(jié)果透罢。例如榜晦,公司兩臺(tái)web服務(wù)器web1和web2(它們是完全相同的內(nèi)容),使用電信網(wǎng)的客戶端對(duì)web的請(qǐng)求讓其訪問(wèn)到web1上羽圃,使用聯(lián)通網(wǎng)的客戶端對(duì)web的請(qǐng)求讓其訪問(wèn)到web2上乾胶。通過(guò)判斷網(wǎng)絡(luò)來(lái)源,讓其選擇合適的線路訪問(wèn)可以加快訪問(wèn)速度统屈,這是常用的功能胚吁。
要使用view功能,最好配合acl來(lái)制定什么客戶端解析到哪去愁憔。acl指令是僅有的幾個(gè)不能定義在view中的指令之一腕扶。
注意
所有的zone都必須要定義在view中,盡管默認(rèn)的named.conf根本沒(méi)有定義view吨掌,但是其實(shí)所有的zone都定義在了一個(gè)隱含的默認(rèn)的視圖中
(2). view中match-clients指令的匹配方式是從前向后匹配的半抱,如果在第一個(gè)view中匹配了,則后面定義的view將不會(huì)生效膜宋,所以定義的view的先后順序是很重要的窿侈。
(3).絕大多數(shù)named.conf中的指令都能寫在view中,只有很少量的指令不允許秋茫,例如acl指令史简。對(duì)于本該封裝在options中的指令,如果想定義在view中肛著,則不應(yīng)該在view中使用options圆兵,因?yàn)閛ptions定義的是全局默認(rèn)值,配置文件中只能出現(xiàn)一次枢贿,所以可以直接在view中寫指令殉农,這樣會(huì)覆蓋全局options。
(4).不同的view中定義的相同的zone局荚,它們使用的區(qū)域文件一般不同(并非必須不同)超凳,否則就沒(méi)有自定義view的必要愈污。
以192.168.30.10作為電信客戶
以192.168.30.20作為聯(lián)通客戶
以192.168.30.30作為其他客戶
在主服務(wù)器上配置:
[root@test2 li-zw.com]# cat /etc/named.conf
...
acl "telecom" {
192.168.30.10;
};
acl "unicom" {
192.168.30.20;
};
options {
...
};
logging {
...
};
};
view telecom {
match-clients { telecom; };
zone "." IN {
type hint;
file "named.ca";
};
zone "li-zw.com" {
type master;
file "li-zw.com/telecom.zone";
allow-update { none; };
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
};
view unicom {
match-clients { unicom; };
zone "." IN {
type hint;
file "named.ca";
};
zone "li-zw.com" {
type master;
file "li-zw.com/unicom.zone";
allow-update { none; };
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
};
#include "/etc/named.rfc1912.zones";
#include "/etc/named.root.key";
view other {
match-clients { any; };
zone "." IN {
type hint;
file "named.ca";
};
zone "li-zw.com" IN {
type master;
file "li-zw.com.zone";
allow-update { none; };
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
};
telecom區(qū)域配置:
[root@test2 named]# cat li-zw.com/telecom.zone
$TTL 3H
@ IN SOA ns1.li-zw.com. root.li-zw.com. (
201809
3H
30M
1W
1H )
@ IN NS ns1.li-zw.com.
@ IN NS ns2.li-zw.com.
ns1 IN A 192.168.30.138
ns2 IN A 192.168.30.128
www IN A 192.168.30.111
bbs IN A 192.123.12.111
admin IN A 192.168.30.111
unicom區(qū)域配置
$TTL 3H
@ IN SOA ns1.li-zw.com. root.li-zw.com. (
201809
3H
30M
1W
1H )
@ IN NS ns1.li-zw.com.
@ IN NS ns2.li-zw.com.
ns1 IN A 192.168.30.138
ns2 IN A 192.168.30.128
www IN A 192.168.30.222
bbs IN A 192.123.12.222
admin IN A 192.168.30.222
other配置
$TTL 3H
@ IN SOA ns1.li-zw.com. root.li-zw.com. (
201809
3H
30M
1W
1H )
@ IN NS ns1.li-zw.com.
@ IN NS ns2.li-zw.com.
ns1 IN A 192.168.30.138
ns2 IN A 192.168.30.128
www IN A 192.168.30.333
bbs IN A 192.123.12.333
admin IN A 192.168.30.333
測(cè)試:
telecom:192.168.30.10
unicom:192.168.30.20
other:192.168.30.128