13.6 分離解析技術(shù)

2023-05-12 11:25 更新

現(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)取定制禮品。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)