子域受權:分佈式數據庫數據庫
定義:每一個域的名稱服務器,都是經過其上級名稱服務器所在的解析庫進行受權:vim
例子:服務器
根域受權tld,在根域的名稱服務器上,解析庫中添加資源記錄:
分佈式
.com. IN NS ns1.com.
.com. IN NS ns2.com.
ns1.com. IN A 2.2.2.1
ns2.com. IN A 2.2.2.2
lalala.com. 在.com的名稱服務器上,解析庫中添加資源記錄:ide
lalala.com IN NS ns1.lalala.com.
lalala.com IN NS ns2.lalala.com.
lalala.com IN NS ns3.lalala.com.
ns1.lalala.com. IN A 3.3.3.1
ns2.lalala.com. IN A 3.3.3.2
ns3.lalala.com. IN A 3.3.3.3
正向子域受權實例:spa
---- 三級域名的子域受權(ops.lalala.com)orm
[root@server named]# cat lalala.com.zone
$TTL 1D
@ IN SOA ns1.lalala.com. admin.lalala.com (
2016060905; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns1.lalala.com.
NS ns2.lalala.com.
MX 10 mx1.lalala.com.
MX 20 mx2.lalala.com.
ns1 A 172.25.254.11
ns2 A 172.25.254.18
www A 172.25.254.11
* A 172.25.254.11爲
#子域受權
ops NS ns1.ops #沒加. 則自動追加成ops.lalala.com
ops NS ns2.ops
ns1.ops A 172.25.254.10
ns2.ops A 172.25.254.19
root server
|blog
com 遞歸
|
lalala
/ \
(local dns) ops www
|—— user
有了子域受權,父域就能輕鬆的找到子域啦,但是子域仍是不知道父域在什麼地方==
假設子域(ops)爲用戶的本地dns服務器,用戶須要訪問www.lalala.com
訪問過程:
user請求ops,因爲ops不負責lalala.com這個域
因此ops把請求給root,由root開始,層層迭代....
出現的問題
原本是內部區域解析問題,卻要麻煩root進行層層迭代,效率地下
因此轉發器應運而生,噹噹噹黨~
解決方法
當咱們服務器發現有不能解析的域時,將請求轉發給指定服務器
通常指定服務器爲上游服務器,也就是轉發服務器~
定義轉發服務器
- 注意:被轉發服務器須要可以爲當前請求作遞歸,不然轉發請求不予進行
轉發類型:
1.所有轉發:
- 對不是本機負責解析的區域的請求,通通轉發給指定服務器
Options {
forward (first|only)
fowarders
}
2.區域轉發:
- 僅轉發對特定區域的請求至某服務器
zone "ZONE_NAME" IN {
type forward;
forward (first|only)
fowarders
};
3.轉發的兩種模式:
first:先遞歸,後迭代(找根)
only:只遞歸,無結果,自我放棄
下面來看一下區域轉發服務器的配置
配置核心思想:
desktop 自己不能解析lalala.com,因此將解析需求轉發到能解析lalala.com的server上.
定義轉發服務器前:(解析失敗)
定義區域轉發服務器:
[root@desktop named]# vim /etc/named.rfc1912.zones
zone "lalala.com" IN {
type forward; #定義轉發類型
forward only; #只使用遞歸模式查找
forwarders {172.25.254.11;}; #轉發服務器爲172.25.254.11
};
定義轉發服務器後:(解析成功)
注意:
開啓轉發功能時,應關閉兩臺服務器的dnssec校驗
[root@server named]# vim /etc/named.conf
dnssec-enable yes;
dnssec-validation no;
dnssec-lookaside auto;
區域轉發比全局轉發優先級高