DNS分離
1.1DNS分離解析技術
DNS的分離解析,是指根據不同的客戶端提供不同的域名解析記錄。來自不同地址的客戶機請求解析同一域名時,為其提供不同的解析結果。也就是內外網客戶請求訪問相同的域名時,能解析出不同的 IP地址,實現負載均衡。
比如說,國內有一家跨國公司,外匯分析師 而且這家公司業務非常繁忙,如果把此公司的web服務部署在北京機房,國外的使用者訪問速度肯定會受到限制。但如果把 web 服務部署在國外機房,國內使用者的訪問速率也肯定會很慢。
那麼,怎麼來解決我們這個問題呢?這就是我們今天要說的DNS分離解析技術
1.2實驗環境準備
主機名 主機IP 地址
DNS 122.71.115.10/106.185.25.10
國內使用者 122.71.115.10
國外使用者 106.185.25.10
1.3實驗步驟
第1步:修改 bind服務程式的主配置檔案,把第 11行的監聽埠與第 17行的允許查詢主機修改為 any。由於配置的 DNS分離解析功能與 DNS根伺服器配置引數有衝突,所以需要把第 51~54行的根域資訊刪除。
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步:編輯區域配置檔案。把區域配置檔案中原有的資料清空,然後按照以下格式寫入引數。首先使用 acl引數分別定義兩個變數名稱( china與 american),當下面需要匹配 IP地址時只需寫入變數名稱即可,這樣不僅容易閱讀識別,而且也利於修改維護。這裡的難點是理解 view引數的作用。它的作用是透過判斷使用者的 IP地址是國內的還是國外的,然後去分別載入不同的資料配置檔案
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 "bdqn.com." {
6 type master;
7 file "bdqn.com.china";
8 };
9 };
10 view "american" {
11 match-clients { "american"; };
12 zone "bdqn.com" {
13 type master;
14 file "bdqn.com.american";
15 };
16 };
第3步:建立資料配置檔案。分別透過模板檔案建立出兩份不同名稱的區域資料檔案,其名稱應與上面區域配置檔案中的引數相對應。
cd /var/named
cp -a named.localhost bdqn.com.china
cp -a named.localhost bdqn.com.american
vim bdqn.com.china
$TTL 1D
#生存週期為 1天
@
IN SOA
bdqn.com.
root.bdqn.com.
(
#授權資訊開始 :
#DNS區域的地址
#域名管理員的郵箱 (不要用 @符號 )
0;serial
#更新序列號
1D;refresh
#更新時間
1H;retry
#重試延時
1W;expire
#失效時間
3H;)minimum
#無效解析記錄的快取時間
NS
ns.bdqn.com.
#域名伺服器記錄
ns
IN A
122.71.115.10
#地址記錄 (ns.bdqn.com.)
www
IN A
122.71.115.15
#地址記錄 ()
vim bdqn.com.american
$TTL 1D
#生存週期為 1天
@
IN SOA
bdqn.com.
root.bdqn.com.
(
#授權資訊開始 :
#DNS區域的地址
#域名管理員的郵箱 (不要用 @符號 )
0;serial
#更新序列號
1D;refresh
#更新時間
1H;retry
#重試延時
1W;expire
#失效時間
3H;)minimum
#無效解析記錄的快取時間
NS
ns.bdqn.com.
#域名伺服器記錄
ns
IN A
106.185.25.10
#地址記錄 (ns.bdqn.com.)
www
IN A
106.185.25.15
#地址記錄 ()第 4步:重新啟動 named服務程式,驗證結果。將客戶端主機( Windows系統或 Linux系統均可)的 IP地址分別設定為 122.71.115.1與 106.185.25.1,將 DNS地址分別設定為伺服器主機的兩個 IP地址。這樣,當嘗試使用 nslookup命令解析域名時就能清晰地看到解析結果
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2669737/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux的DNS域名解析服務(正向,反向,主從,分離)LinuxDNS
- 多區域DNS服務,子域授權,快取DNS及Split分離解析的原理和實現DNS快取
- DNS分層結構及DNS解析流程DNS
- 1.6.4 分離原則: 策略同機制分離,介面同引擎分離
- css分離思想CSS
- 【冷熱分離】
- MyCat分庫分表、讀寫分離
- Mycat 讀寫分離+分庫分表
- 讀寫分離 & 分庫分表 & 深度分頁
- shardingjdbc分表分庫,主從分離JDBC
- ruoyi vue 前後端分離版本 打包分離jar包至libVue後端JAR
- Redis的讀寫分離Redis
- 11,nginx動靜分離Nginx
- docker 分離engine和clientDockerclient
- Laravel讀寫分離原理Laravel
- MySQL Amoeba讀寫分離MySql
- Amoeba for mysql讀寫分離MySql
- MySQL讀寫分離AtlasMySql
- 架構中的分離架構
- mongodb的讀寫分離MongoDB
- Docker實現Mariadb分庫分表、讀寫分離Docker
- 搭建基於springmvc,ibatis的工程實現讀寫分離,配置分離SpringMVCBAT
- MySQL主從分離實現MySql
- 再談前後端分離後端
- 前後端分離那些事後端
- Flutter資料分離思想-BLoCFlutterBloC
- 前後分離介面規範
- ELK冷熱資料分離
- 淺談前後端分離後端
- python split()對字串分離Python字串
- 前後端分離——使用OSS後端
- MySQL + Atlas --- 部署讀寫分離MySql
- Nginx實現動靜分離Nginx
- Oracle 12.2 建立分離JobsOracle
- 表現與資料分離
- Amoeba for MySQL讀寫分離配置MySql
- Amoeba實現讀寫分離
- mysql讀寫分離(PHP類)MySqlPHP