DNS的子域授權與智能解析

DNS子域授權

為什么需要子域授權刑峡?

子域授權洋闽,也就是DNS的分布式

通過在原有的域上劃出一個小的區(qū)域突梦,并給新DNS服務器管理诫舅。
如果有客戶端請求解析在這個劃分區(qū)域中的域名,則只要找新的子DNS服務器宫患。
這樣的做的好處可以減輕主DNS的壓力刊懈,也便于管理

配置DNS子域授權

主機名 主機地址 角色
node1 192.168.2.201 主DNS服務器
node2 192.168.2.202 從DNS服務器
node3 192.168.2.203 子域授權服務器

以上節(jié)點均關閉了iptables和selinux

由于篇幅的原因撮奏,這次主要是演示子域授權的部分俏讹。
關于node1和node2配置主從同步的詳細步驟以及注意事項,可以參考上一篇文章畜吊。

一泽疆、修改node1的資源記錄
[root@node1 named]# vim /var/named/bc.com.zone 
  ops     IN      NS              ns3
  ns3     IN      A               192.168.2.203

在bc.com這個資源記錄文件中添加兩條記錄。
其實這個的意思是說玲献,
ops.bc.com這個域由ns3.bc.com來解析殉疼。
ns3.bc.com的IP地址在192.168.2.203

注意:這里需要將SOA記錄的序列號手動+1才會觸發(fā)node2的同步。

二捌年、為node3配置安裝dns服務瓢娜,并配置資源記錄
安裝服務
 [root@node3 ~]# yum install bind -y

修改全局配置
[root@node3 ~]# vim /etc/named.conf 
options {
        listen-on port 53 { 192.168.2.203;127.0.0.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     { any; };
        dnssec-enable no;
        dnssec-validation no;
}
定義可解析區(qū)域
[root@node3 ~]# vim /etc/named.rfc1912.zones 
zone "ops.bc.com" IN {
        type master;
        file "ops.bc.com.zone";
};

編輯資源記錄
$ORIGIN ops.bc.com.
$TTL 86400
@               IN      SOA     ops.bc.com. admin.bc.com.       (
                                2016042301
                                1H
                                5M
                                7D
                                1D)
ops.bc.com.             IN              NS              ns1
ns1                     IN              A               192.168.2.203
www                     IN              A               192.168.2.213
*                       IN              A               192.168.2.223

注意:
除了SOA記錄之外,這里定義了幾條資源記錄

ops.bc.com.             IN              NS              ns1
表示ops.bc.com這個域由ns1.ops.bc.com這個DNS服務器負責解析

ns1                     IN              A               192.168.2.203
表示ns1.ops.bc.com的IP地址是192.168.2.203

www                     IN              A               192.168.2.213
表示www.ops.bc.com的IP地址是192.168.2.213

*                       IN              A               192.168.2.223
表示*.ops.bc.com的IP地址是192.168.2.223
檢查語法錯誤
[root@node3 ~]# named-checkzone  ops.bc.com /var/named/ops.bc.com.zone 
zone ops.bc.com/IN: loaded serial 2016042301
OK

沒有問題則可以重啟服務礼预,因為dns服務經常配置文件缺少標點而啟動不成功眠砾。
所以檢查語法錯誤之后才重啟,可以避免故障導致服務不可用托酸。

重啟服務
[root@node3 ~]# service named restart
Redirecting to /bin/systemctl restart  named.service
三褒颈、測試能否在node1上解析子域的資源記錄
[root@node2 ~]# dig -t A ftp.ops.bc.com @192.168.2.201

; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 <<>> -t A ftp.ops.bc.com @192.168.2.201
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28811
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ftp.ops.bc.com.            IN  A

;; ANSWER SECTION:
ftp.ops.bc.com.     86400   IN  A   192.168.2.223

;; AUTHORITY SECTION:
ops.bc.com.     86400   IN  NS  ns1.ops.bc.com.

;; ADDITIONAL SECTION:
ns1.ops.bc.com.     86400   IN  A   192.168.2.203

;; Query time: 3 msec
;; SERVER: 192.168.2.201#53(192.168.2.201)
;; WHEN: Fri Dec 30 18:02:12 CST 2016
;; MSG SIZE  rcvd: 93

;; ANSWER SECTION:字段中柒巫,解析到我們配置的*.ops.bc.com
所以ftp.ops.bc.com的IP地址是192.168.2.223。

后續(xù)問題:
[root@node3 ~]# nslookup 
> server 192.168.2.203
Default server: 192.168.2.203
Address: 192.168.2.203#53
> set q=A   
> www.reibang.com
Server:     192.168.2.203
Address:    192.168.2.203#53

** server can't find www.reibang.com: NXDOMAIN

我們發(fā)現(xiàn)谷丸,由于子域的node3中的資源記錄只有那么幾條堡掏。
所以當有客戶端請求其他資源記錄的時候,就會無法解析刨疼。
轉而會向根服務器開始迭代泉唁,這樣會很慢。
所以一般會定義一個轉發(fā)器揩慕,在子域無法解析的時候
轉發(fā)給特定服務器解析亭畜。

配置轉發(fā)器:
[root@node3 ~]# vim /etc/named.conf 
options {
        forward only;
        forwarders { 192.168.2.1; };
}

這里無法解析的請求,都轉發(fā)給192.168.2.1漩绵。
為什么不轉發(fā)給主DNS服務器贱案?
因為我們在主DNS中定義的資源記錄也是有限的,所以主DNS也可能解析不出來止吐。

加了轉發(fā)器選項之后就可以正常解析了宝踪。
[root@node3 ~]# nslookup 
> server 192.168.2.203
Default server: 192.168.2.203
Address: 192.168.2.203#53
> set q=A
> www.reibang.com
Server:     192.168.2.203
Address:    192.168.2.203#53

Non-authoritative answer:
Name:   www.reibang.com
Address: 106.75.2.241
> 

有了轉發(fā)器,就可以把自己負責的區(qū)域以外的請求都丟給其他DNS服務器代為處理碍扔。

智能DNS

智能DNS瘩燥,也就是可以通過判斷用戶的IP來返回不同的資源記錄
這樣做的好處在于不同,能夠通過這種方式選擇一個用戶最合適的服務器厉膀。
智能DNS也是CDN實現(xiàn)的一種方式
例如二拐,通過判斷用戶是電信用戶還是鐵通用戶來返回不同的結果服鹅。加快訪問速度
例如百新,通過判斷用戶的地區(qū)企软,找出一個該地區(qū)的服務器。達到分流的效果饭望,提高用戶體驗仗哨。

使用view功能配置使用dns智能解析
修改全局配置文件:
[root@node1 ~]# vim /etc/named.conf

  acl inter-network {
        127.0.0.1;
  };

  acl external-network {
        192.168.2.0/24;
  };

這里我們配置兩個訪問控制列表,也就是acl
也就是說铅辞,我們使用不同網段的時候厌漂,會得到不同的結果。

修改區(qū)域配置文件
[root@node1 ~]# vim /etc/named.rfc1912.zones 

// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
// (c)2007 R W Franks
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
view internal {
        match-clients { inter-network; };
        allow-recursion { inter-network; };
        zone "localhost.localdomain" IN {
                type master;
                file "named.localhost";
                allow-update { none; };
        };

        zone "localhost" IN {
                type master;
                file "named.localhost";
                allow-update { none; };
        };

                type master;
                file "named.loopback";
                allow-update { none; };
        };

        zone "1.0.0.127.in-addr.arpa" IN {
                type master;
                file "named.loopback";
                allow-update { none; };
        };

        zone "0.in-addr.arpa" IN {
                type master;
                file "named.empty";
                allow-update { none; };
        };

        zone "bc.com" IN {
                type master;
                file "bc.com.zone";
                allow-transfer { 192.168.2.202; };
        };

        zone "." IN {
                type hint;
                file "named.ca";
        };
};

view external-network {
        match-clients { external-network; };
        zone "bc.com" IN {
                type master;
                file "bc.com.zone.external";
        };

};

這里我們定義了兩個view:
一個是叫internal對應內網用戶斟珊,一個是external-network對應外網用戶苇倡。

不過這里我們只需要關注兩個zone:
view internal中的bc.com
view external-network中的bc.com

修改external-network中的bc.com這個域的的文件
[root@node1 ~]# vim /var/named/bc.com.zone.external 
$TTL 86400
$ORIGIN bc.com.
@       IN      SOA     ns1.bc.com.     admin.bc.com (
                        2016122231
                        1H
                        5M
                        7D
                        1D )

                IN      NS      ns1
                IN      NS      ns2
ops     IN      NS              ns3
ns1     IN      A               192.168.2.201
ns2     IN      A               192.168.2.202
ns3     IN      A               192.168.2.203
node1   IN      A               202.192.72.211
*               IN      A       192.168.2.201

注意:
我們對應內網的node1,A記錄是192.168.2.201
這里對應外網的node1的A記錄則是202.192.72.211

檢查語法錯誤
[root@node1 ~]# named-checkconf 

這一步真的很重要。

重啟服務
[root@node1 ~]# service named restart
Redirecting to /bin/systemctl restart  named.service
測試功能是否正常
[root@node1 ~]# dig -t A node1.bc.com @192.168.2.201

; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 <<>> -t A node1.bc.com @192.168.2.201
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45902
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;node1.bc.com.          IN  A

;; ANSWER SECTION:
node1.bc.com.       86400   IN  A   202.192.72.211

;; AUTHORITY SECTION:
bc.com.         86400   IN  NS  ns1.bc.com.
bc.com.         86400   IN  NS  ns2.bc.com.

;; ADDITIONAL SECTION:
ns1.bc.com.     86400   IN  A   192.168.2.201
ns2.bc.com.     86400   IN  A   192.168.2.202

;; Query time: 1 msec
;; SERVER: 192.168.2.201#53(192.168.2.201)
;; WHEN: Fri Dec 30 21:29:48 CST 2016
;; MSG SIZE  rcvd: 125

[root@node1 ~]# dig -t A node1.bc.com @127.0.0.1

; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 <<>> -t A node1.bc.com @127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6048
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 2, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;node1.bc.com.          IN  A

;; ANSWER SECTION:
node1.bc.com.       86400   IN  A   192.168.2.221
node1.bc.com.       86400   IN  A   192.168.2.211
node1.bc.com.       86400   IN  A   192.168.2.201

;; AUTHORITY SECTION:
bc.com.         86400   IN  NS  ns1.bc.com.
bc.com.         86400   IN  NS  ns2.bc.com.

;; ADDITIONAL SECTION:
ns1.bc.com.     86400   IN  A   192.168.2.201
ns2.bc.com.     86400   IN  A   192.168.2.202

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Dec 30 21:30:19 CST 2016
;; MSG SIZE  rcvd: 157

可以看出雏节,;; ANSWER SECTION:解析出了不同的結果胜嗓。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市钩乍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌怔锌,老刑警劉巖寥粹,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異埃元,居然都是意外死亡涝涤,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門岛杀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來阔拳,“玉大人,你說我怎么就攤上這事类嗤『Γ” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵遗锣,是天一觀的道長货裹。 經常有香客問我,道長精偿,這世上最難降的妖魔是什么弧圆? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮笔咽,結果婚禮上搔预,老公的妹妹穿的比我還像新娘。我一直安慰自己叶组,他們只是感情好拯田,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著扶叉,像睡著了一般勿锅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上枣氧,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天溢十,我揣著相機與錄音,去河邊找鬼达吞。 笑死张弛,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播吞鸭,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼寺董,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了刻剥?” 一聲冷哼從身側響起遮咖,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎造虏,沒想到半個月后御吞,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡漓藕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年陶珠,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片享钞。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡揍诽,死狀恐怖,靈堂內的尸體忽然破棺而出栗竖,到底是詐尸還是另有隱情暑脆,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布划滋,位于F島的核電站饵筑,受9級特大地震影響,放射性物質發(fā)生泄漏处坪。R本人自食惡果不足惜根资,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望同窘。 院中可真熱鬧玄帕,春花似錦、人聲如沸想邦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽丧没。三九已至鹰椒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間呕童,已是汗流浹背漆际。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留夺饲,地道東北人奸汇。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓施符,卻偏偏與公主長得像,于是被迫代替她去往敵國和親擂找。 傳聞我的和親對象是個殘疾皇子戳吝,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內容

  • 1. 概述 在網絡環(huán)境中一般用戶只需要在瀏覽器中輸入url如www.sunny.com就可以到對應服務器獲取相應的...
    ghbsunny閱讀 2,894評論 0 7
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)贯涎,斷路器听哭,智...
    卡卡羅2017閱讀 134,657評論 18 139
  • DNS(Domain Name System,域名系統(tǒng))柬采,因特網上作為域名和IP地址相互映射的一個分布式數(shù)據(jù)庫欢唾,能...
    一直在努力hard閱讀 4,634評論 3 19
  • DNS簡介DNS解析關鍵概念BIND 一、DNS簡介: (一)DNS服務 DNS:Domain Name Serv...
    哈嘍別樣閱讀 1,800評論 0 2
  • 目錄: 一些基本概念主機名DNS名稱解析DNS 解析的后端存儲名稱解析總結 大規(guī)模域名解析的體系架構DNS 解析需...
    C86guli閱讀 12,496評論 3 34