實驗:智能DNS服務
當用戶訪問一個網站的時候怎麼樣能是訪問速度達到最佳呢?這是所有的網站都會在意的問題,這時候智能DNS就出現了,它的意思就是當一臺主機訪問一個網站,DNS服務器會把離它最近的區域代理服務器的地址給它,它訪問的就是所謂的區域代理服務器。區域代理服務器存放的一部分的靜態信息,動態資源的特定的信息轉發到web服務器,不同地區的用戶訪問的數據庫的是不同的,就能夠實現訪問速度快,單純的cname的設置是隻能隨機訪問,並不能很好的提高用戶的訪問速度。實現智能dns需要定義ACI和view,view把acl和區域數據庫關聯起來。如果有view,必須把所有的區域信息放在view裏,根域也是一樣放進去。
第一步:建立域名數據庫,本地已經寫過一個域名數據庫,直接複製,記得加上-p。
1、cd /var/named/
2、cp magedu.com.zone magedu.com.zone.beijing -p
$TTL 1D
@ IN SOA dns1 mail.magedu.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ NS dns1
dns1 A 192.168.253.195
WWW CNAME websrv
websrv A 172.17.253.22
3、cp magedu.com.zone magedu.com.zone.henan -p
$TTL 1D
@ IN SOA dns1 mail.magedu.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ NS dns1
dns1 A 192.168.253.129
WWW CNAME websrv
websrv A 192.168.253.22
第二步:定義acl,記住必須在/etc/named.conf配置文件中的options前面定義。
acl henannet {
192.168.253.0/24;
};
acl beijingnet {
172.17.0.0/16;
};
第三步:j需要把本地端口給解綁,這個是必須做的,只要需要域名解析都得解綁允許其他的機器訪問,不能只能讓本主機服務器才能用。
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
第四步:定義view視圖,把acl和區域數據庫關聯起來。
vim /etc/named.conf
方法1:
view beijingview {
match-clients { beijingnet;};
zone "magedu.com" {
type master;
file "magedu.com.zone.beijing";
};
zone "." IN {
type hint;
file "named.ca";
};
};
方法2:
view henanview {
match-clients {henannet;};
include "/etc/named.rfc1912.zones";
zone "." IN {
type hint;
file "named.ca";
};
};
/etc/named.rfc1912.zones
zone "magedu.com" IN {
type master;
file "magedu.com.zone.henan";
};
問題:本地地址能訪問嗎?可以看出是拒絕訪問的。
dig www.magedu.com@127.0.0.1
解決方式:
第一步:定義一個any的acl包含自己的網段,或者是漏掉的網段。
view other {
match-clients {any;};
include "/etc/named.rfc1912.zones.henan";
zone "." IN {
type hint;
file "named.ca";
};
};
第二步:定義一個域名在/etc/named.rfc1912.zones.henan。
zone "magedu.com" IN {
type master;
file "magedu.com.zone";
};
第三步:搭建域名數據庫。
vim magedu.com.zone
$TTL 1D
@ IN SOA dns1 mail.magedu.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ NS dns1
@ NS dns2
dns1 A 192.168.134.161
dns2 A 192.168.134.162
WWW CNAME websrv
websrv A 6.6.6.6