基於BIND實現智慧型DNS解析

2021-09-21 09:00:00 字數 3151 閱讀 2343

智慧型dns又稱為解析切割,是對請求dns解析的ip位址進行判斷,將網域名稱解析成不同的位址

一般智慧型dns應用常見的場景就是cdn,中國特色社會主義的網路導致了電信和聯通這2個特色的運營商,而這2個運營商通過在北京某機房的100g頻寬相連,這就導致了電信使用者訪問聯通的網路就會非常慢。玩遊戲的童鞋就知道用遊戲加速器來解決問題,但一般的使用者訪問在不同運營商網路的伺服器時,變得非常慢。於是苦逼的服務提供商為了更好的使用者體驗就不得不去花費一筆錢去買cdn服務了。。。。

cdn的原理就是在智慧型dns基礎上進行web的反向**快取實現的。通過不同地域的請求解析到對應地域的快取伺服器上,然後快取伺服器對主伺服器進行資料請求,最終返回給客戶。這對於靜態頁面的**有著很好的加速。

還會一種會使用到智慧型dns的場景:在公司內部ns伺服器上區分內部和外部的請求,將內部請求解析到內網位址上,外網請求解析到外網位址上,此篇博文針對此應用展開

bind實現智慧型dns的原理是通過view的方式,首先判斷客戶請求的**,然後返回不同的ip

規劃:為lustlost.com域進行智慧型解析

分2個網段,192.168.92.0/24網段的請求解析到192.168.92.102主機上, 其它網段解析到172.19.19.102主機

這裡172.19.19.102模擬外網。

這和一般公司的模式很接近,為公司內部提供內部私網位址的解析,避免路由器效能浪費。為外部提供公網位址的解析。

ns伺服器的ip位址為192.168.92.102和172.19.19.102

[root@lustlost ~]# yum install bind caching-nameserver –y #安裝bind和caching-nameserver,這裡的caching-nameserver已經給我們在相應目錄下提供了配置檔案,根區域和本地區域的資料檔案,而且它的主配置是預設以view方式配置的

[root@lustlost etc]# cp /etc/named.caching-nameserver.conf named.conf #用cp備份原配置檔案,建立要使用的配置檔案,然後進行修改

[root@lustlost etc]# vim /etc/named.conf

#首先定義控制列表,這裡定義了內網的網段 

acl innet ; 

#全域性配置,精簡一點,只配置資料檔案目錄位置 

options ; 

#建立內網使用者的view 

view in ;            #定義使用者為控制列表中所定義的  

recursion yes;  #允許內網使用者進行遞迴查詢 

#下面是定義根區域和本地區域的正反解析 

zone "." in ;       

zone "localhost" in ; 

zone "0.0.127.in-addr.arpa" in ; 

#定義內部網路使用者解析 

zone "lustlost.com" in ; #不允許區域傳送  

allow-update ; #不允許更新  

};  

}; #定義外部網路使用者解析 

view out ; #允許所有使用者(這裡之所以允許所有使用者,

是因為bind對配置檔案是從上往下讀取解析的,

匹配不到上面view所定義的acl,

才會到這個view中來)  

recursion no;  #不允許外部網路使用者進行遞迴查詢(我們不是免費的公共dns) 

zone "lustlost.com" in ;  

allow-update ;  

}; }; 

[root@lustlost etc]# named-checkconf  #配置完成後注意檢查配置檔案的語法錯誤

至此就配置好了主配置檔案,接下來建立區域資料檔案

[root@lustlost etc]# cd /var/named/

[root@lustlost named]# vim lustlost.com.in #建立內部網路客戶解析區域檔案

#這裡就隨便建立幾個記錄了 

$ttl 600  

$origin lustlost.com  

@       in      soa     ns.lustlost.com.        admin.lustlost.com. (  

2012070801  

1h  

10m  

1w  

1d  

)  in      ns      ns  

in      mx 10   mail  

ns      in      a       192.168.92.102  

mail    in      a       192.168.92.100  

www     in      a       192.168.92.101 

[root@lustlost named]# cp lustlost.com.in lustlost.com.out #建立外部網路客戶解析區域檔案

$ttl 600  

$origin lustlost.com  

@       in      soa     ns.lustlost.com.        admin.lustlost.com. (  

2012070801  

1h  

10m  

1w  

1d  

)  in      ns      ns  

in      mx 10   mail  

ns      in      a       172.19.19.102  

mail    in      a       172.19.19.100  

www     in      a       172.19.19.101 

至此所有配置都已經完成

檢查下配置有無出錯

檢查無錯誤後啟動服務

檢視下當前網路配置(為了方便,在網絡卡上配置了2個不同的位址,下面客戶機也一樣)

檢視下客戶機的網路配置

於是用這台客戶機用不同位址去請求解析dns

使用192.168.92.0/24網段去解析的結果

使用172.19.19.0/24網段去解析的結果

可以看到,使用不同網段成功的解析到了不同的位址。

Linux 基於bind的DNS解析實驗

實驗環境 centos 實驗軟體 bind 實驗要求 1.1.centos7 linux系統 提取碼 qmin 1.2centos上bind軟體安裝 直接使用yum工具安裝 yum y install bind 2.1.修改主配置檔案 vi etc named.conf 修改以下兩行 2.2.建立網...

CDN介紹 bind智慧型DNS

cdn content delivery network內容分發網路 服務商 藍汛,網宿,帝聯等 gslb和cdn gslb global server load balance 全域性負載均衡 gslb是對伺服器和鏈路進行綜合判斷來決定由哪個低點的伺服器來提供服務,實現異地伺服器群服務質量的保證,...

基於bind搭建DNS主從

使用bind的主從複製功能可以實現的功能 提供冗餘,避免單點故障 均衡負載查詢需求,從而提高系統可用性。一 安裝 bind chroot 負責dns安全作用,將bind程序嚴格限制在特定的目錄中 yum install bind bind chroot bind utils 二 配置檔案 bind主...