stone2083

          Hosts綁定新思路之DNS代理篇

          前言

          此文摘自2011年5月23日郵件分享,為《Hosts綁定新思路之HTTP代理篇》續集



          電視有續集,電影也有續集,Hosts綁定思路同樣有續集.

           

          我們先用一句話來回顧下,上集中關于Hosts綁定的思路:

          原理:利用Http代理的方式,將分散在各個客戶端的Hosts綁定,集中綁定在Http代理服務器上

          優點:集中管理

          缺點:一臺Http代理服務器,只能綁定一組Hosts信息

          (詳細內容,請見之前的郵件)

           

          在當時描述方案郵件的時候,也意識到了方案存在的不足,所以一直在思考改進方案(詳見之前郵件中最后一節改進方案思路).

          經過一段時間的思考,改進方案有了大概的雛形將之前的HTTP代理方案 替換成 DNS代理方案

           

          俗話說得好:有圖有真相.先貼上一張架構圖,之后再用文字慢慢解 


           

          架構中核心組件是:DNS BackOffice服務器 DNS代理服務器

          DNS BackOffice服務器的作用有:

          1.       開發/測試管理員通過BackOffice服務維護各自項目的綁定信息,BackOffice服務將之持久化                (圖中 藍色虛線)

          2.       開發/測試人員通過BackOffice服務,告知需要哪個項目的綁定信息,BackOffice服務將之持久化           (圖中 黑色虛線)

           

          DNS代理服務器的作用有:

          1.       攔截Domain Name的解析.通過來源IP判斷需要綁定的Hosts信息,File/DB得到對應的IP,通過DNS協議返回  (圖中 紅色實線  黑色實線)

          2.       如果不在綁定之列,則請求上級DNS服務器,返回其Response.

           

          此方案的優勢:

          1.       本地Hosts綁定優先.

          只要本地Hosts有綁定IP,則不會請求DNS代理服務器.請求本地Hosts文件.能滿足個性化需求.

          2.       DNS代理服務器支持多種綁定方式,如通配符,正則等

          對于目前旺鋪,完全可以使用通配符, *.cn.alibaba.com,簡化配置工作量

          3.       操作簡單

          只要將DNS服務器設置成DNS代理服務器IP即可 (附錄中有詳細說明)

          4.       有效利用現有成果

          目前測試同學已經集中維護了Hosts綁定信息,只要部署DNS代理服務器,并做簡單的集成即可

          5.       DNS代理服務器代碼輕量小巧,易于修改擴展

          目前一共只有212行代碼,其中DNS協議部分130,DNS代理部分82.

           

           

          附錄

          I.                    客戶端如何設置DNS服務器

          Windows用戶,見圖:


          Linux用戶,見圖:


          修改 /etc/resolv.conf文件即可

          posted on 2011-05-23 19:42 stone2083 閱讀(1823) 評論(0)  編輯  收藏 所屬分類: python

          主站蜘蛛池模板: 丹东市| 五常市| 日土县| 上饶市| 鹤岗市| 秭归县| 综艺| 河池市| 尉犁县| 宜兰县| 思茅市| 房产| 永济市| 敦化市| 阳信县| 湖北省| 勐海县| 玉溪市| 梁山县| 囊谦县| 隆回县| 罗源县| 娱乐| 华蓥市| 湘乡市| 勃利县| 年辖:市辖区| 阳高县| 武陟县| 达日县| 北安市| 雅安市| 克拉玛依市| 资兴市| 易门县| 九龙县| 呈贡县| 定边县| 瓮安县| 寻甸| 台湾省|