W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
現(xiàn)在,喜歡看我們這本《Linux就該這么學(xué)》的海外讀者越來越多,如果繼續(xù)把本書配套的網(wǎng)站服務(wù)器(https://www.linuxprobe.com)架設(shè)在北京市的機(jī)房內(nèi),則海外讀者的訪問速度勢(shì)必會(huì)很慢??扇绻逊?wù)器架設(shè)在美國那邊的機(jī)房,也將增大國內(nèi)讀者的訪問難度。
為了滿足海內(nèi)外讀者的需求,外加劉遄老師不差錢,于是可以購買多臺(tái)服務(wù)器并分別部署在全球各地,然后再使用DNS服務(wù)的分離解析功能,即可讓位于不同地理范圍內(nèi)的讀者通過訪問相同的網(wǎng)址,而從不同的服務(wù)器獲取到相同的數(shù)據(jù)。例如,我們可以按照表13-5所示,分別為處于北京的DNS服務(wù)器和處于美國的DNS服務(wù)器分配不同的IP地址,然后讓國內(nèi)讀者在訪問時(shí)自動(dòng)匹配到北京的服務(wù)器,而讓海外讀者自動(dòng)匹配到美國的服務(wù)器,如圖13-9所示。
表13-5 不同主機(jī)的操作系統(tǒng)與IP地址情況
主機(jī)名稱 | 操作系統(tǒng) | IP地址 |
---|---|---|
DNS服務(wù)器 | RHEL 8 | 北京網(wǎng)絡(luò):122.71.115.10 |
美國網(wǎng)絡(luò):106.185.25.10 | ||
北京用戶 | Windows 10 | 122.71.115.1 |
海外用戶 | Windows 10 | 106.185.25.1 |
圖13-9 DNS分離解析技術(shù)
為了解決海外讀者訪問https://www.linuxprobe.com時(shí)的速度問題,劉遄老師已經(jīng)在美國機(jī)房購買并架設(shè)好了相應(yīng)的網(wǎng)站服務(wù)器,接下來需要手動(dòng)部署DNS服務(wù)器并實(shí)現(xiàn)分離解析功能,以便讓不同地理區(qū)域的讀者在訪問相同的域名時(shí),能解析出不同的IP地址。
建議大家將虛擬機(jī)還原到初始狀態(tài),并重新安裝bind服務(wù)程序,以免多個(gè)實(shí)驗(yàn)之間相互產(chǎn)生沖突。
第1步:修改bind服務(wù)程序的主配置文件,把第11行的監(jiān)聽端口與第17行的允許查詢主機(jī)修改為any。由于配置的DNS分離解析功能與DNS根服務(wù)器配置參數(shù)有沖突,所以需要把第51~54行的根域信息刪除。
[root@linuxprobe ~]# vim /etc/named.conf
………………省略部分輸出信息………………
44 logging {
45 channel default_debug {
46 file "data/named.run";
47 severity dynamic;
48 };
49 };
50
51 zone "." IN {
52 type hint;
53 file "named.ca";
54 };
55
56 include "/etc/named.rfc1912.zones";
57 include "/etc/named.root.key";
58
………………省略部分輸出信息………………
第2步:編輯區(qū)域配置文件。把區(qū)域配置文件中原有的數(shù)據(jù)清空,然后按照以下格式寫入?yún)?shù)。首先使用acl參數(shù)分別定義兩個(gè)變量名稱(china與american),當(dāng)下面需要匹配IP地址時(shí)只需寫入變量名稱即可,這樣不僅容易閱讀識(shí)別,而且也利于修改維護(hù)。這里的難點(diǎn)是理解view參數(shù)的作用。它的作用是通過判斷用戶的IP地址是中國的還是美國的,然后去分別加載不同的數(shù)據(jù)配置文件(linuxprobe.com.china或linuxprobe.com.american)。這樣,當(dāng)把相應(yīng)的IP地址分別寫入到數(shù)據(jù)配置文件后,即可實(shí)現(xiàn)DNS的分離解析功能。這樣一來,當(dāng)中國的用戶訪問linuxprobe.com域名時(shí),便會(huì)按照linuxprobe.com.china數(shù)據(jù)配置文件內(nèi)的IP地址找到對(duì)應(yīng)的服務(wù)器。
[root@linuxprobe ~]# vim /etc/named.rfc1912.zones
1 acl "china" { 122.71.115.0/24; };
2 acl "american" { 106.185.25.0/24;};
3 view "china"{
4 match-clients { "china"; };
5 zone "linuxprobe.com" {
6 type master;
7 file "linuxprobe.com.china";
8 };
9 };
10 view "american" {
11 match-clients { "american"; };
12 zone "linuxprobe.com" {
13 type master;
14 file "linuxprobe.com.american";
15 };
16 };
第3步:建立數(shù)據(jù)配置文件。分別通過模板文件創(chuàng)建出兩份不同名稱的區(qū)域數(shù)據(jù)文件,其名稱應(yīng)與上面區(qū)域配置文件中的參數(shù)相對(duì)應(yīng)。
[root@linuxprobe ~]# cd /var/named
[root@linuxprobe named]# cp -a named.localhost linuxprobe.com.china
[root@linuxprobe named]# cp -a named.localhost linuxprobe.com.american
[root@linuxprobe named]# vim linuxprobe.com.china
編輯
$TTL 1D #生存周期為1天
@ IN SOA linuxprobe.com. root.linuxprobe.com. (
#授權(quán)信息開始: #DNS區(qū)域的地址 #域名管理員的郵箱(不要用@符號(hào))
0;serial #更新序列號(hào)
1D;refresh #更新時(shí)間
1H;retry #重試延時(shí)
1W;expire #失效時(shí)間
3H;)minimum #無效解析記錄的緩存時(shí)間
NS ns.linuxprobe.com. #域名服務(wù)器記錄
ns IN A 122.71.115.10 #地址記錄(ns.linuxprobe.com.)
www IN A 122.71.115.15 #地址記錄(www.linuxprobe.com.)
[root@linuxprobe named]# vim linuxprobe.com.american
編輯
$TTL 1D #生存周期為1天
@ IN SOA linuxprobe.com. root.linuxprobe.com. (
#授權(quán)信息開始: #DNS區(qū)域的地址 #域名管理員的郵箱(不要用@符號(hào))
0;serial #更新序列號(hào)
1D;refresh #更新時(shí)間
1H;retry #重試延時(shí)
1W;expire #失效時(shí)間
3H;)minimum #無效解析記錄的緩存時(shí)間
NS ns.linuxprobe.com. #域名服務(wù)器記錄
ns IN A 106.185.25.10 #地址記錄(ns.linuxprobe.com.)
www IN A 106.185.25.15 #地址記錄(www.linuxprobe.com.)
第4步:重新啟動(dòng)named服務(wù)程序,驗(yàn)證結(jié)果。將客戶端主機(jī)(Windows系統(tǒng)或Linux系統(tǒng)均可)的IP地址分別設(shè)置為122.71.115.1與106.185.25.1,將DNS地址分別設(shè)置為服務(wù)器主機(jī)的兩個(gè)IP地址。這樣,當(dāng)嘗試使用nslookup命令解析域名時(shí)就能清晰地看到解析結(jié)果,分別如圖13-10與圖13-11所示。
圖13-10 模擬中國用戶的域名解析操作
圖13-11 模擬美國用戶的域名解析
出現(xiàn)問題?大膽提問!
因讀者們硬件不同或操作錯(cuò)誤都可能導(dǎo)致實(shí)驗(yàn)配置出錯(cuò),請(qǐng)耐心再仔細(xì)看看操作步驟吧,不要?dú)怵H~
Linux技術(shù)交流請(qǐng)加A群:560843(滿),B群:340829(推薦),C群:463590(推薦),點(diǎn)此查看全國群。
*本群特色:通過口令驗(yàn)證確保每一個(gè)群員都是《Linux就該這么學(xué)》的讀者,答疑更有針對(duì)性,不定期免費(fèi)領(lǐng)取定制禮品。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: