雙網卡雙線路DNS解析分析

在企業網絡維護過程當中咱們常常會遇到這樣或那樣的奇怪問題,而不少問題須要有深厚的理論知識才能解決。而隨着網絡的飛速發展愈來愈多的中小企業開始嘗試經過多條線路來保證網絡的暢通,一方面雙網卡下的雙線接入能夠保證咱們的速度有所提高,完全解決網通與電信雙網交叉訪問問題;另外一方面雙線接入保證企業網絡即便有一條線路出現問題另一條也能夠立刻接管工做,從而保證企業網絡暢通無阻,爲企業外網接入提供冗餘功能。今天咱們也主要討論下在雙網卡雙線路接入下的問題。
  一,認知盲區解惑之DNS解析:
  在實際工做中咱們可能會產生如下疑問——當咱們使用雙網卡雙線路時本地數據如何轉發呢?到底是經過哪一個網卡向外傳輸又或者說域名解析工做該交給哪一個網卡來完成呢?今天筆者就從實際出發從各位網絡管理員的認知盲區下手爲各位解惑雙網卡下DNS解析的問題。
  二,網絡環境介紹:
  直接在一臺雙網卡的計算機進行測試和操做,該機器安裝了兩個10M/100M自適應網卡,一個是無線網卡,另一個是有線網卡。兩個網卡分別鏈接兩條不一樣的線路。網卡1是有線網卡得到的網絡參數爲——ip地址192.168.0.199,子網掩瑪255.255.255.0,網關地址是192.168.0.1,而網卡2是無線網卡得到的是ip地址192.168.1.113,子網掩瑪255.255.255.0,網關地址是192.168.1.1。
  使用ipconfig /all查看兩個網卡的DNS信息能夠看到網卡1的DNS地址就是192.168.0.1,網卡2的DNS地址是192.168.1.1,固然這兩個地址實際上對應的是兩臺路由器,各自路由器又對應外網接入。這樣就造成了一個兩網卡兩線路的測試環境。
  三,測試1——雙網卡下DNS解析:
  那麼如今我就要向各位讀者提出問題了,在這種鏈接方式下兩個網卡分別鏈接兩個網段,而這兩個網段又分別提供了外網接入和數據路由功能的話,在實際使用過程當中DNS是參照哪一個網卡呢?答案無外乎三種——按照網卡1的DNS進行解析,按照網卡2的DNS解析,從哪一個網卡傳輸就用哪一個網卡的DNS進行解析。
  咱們在本機執行nslookup sohu.com針對此地址進行DNS解析操做,從結果能夠看出搜狐的IP地址被成功解析出來,解析過程當中使用的DNS服務器是192.168.1.1,也就是說解析時採用了網卡2上的DNS服務器地址來完成域名到IP的轉換工做。
  四,測試2——單網卡下DNS解析:
  接下來咱們將網卡2關閉禁用,再次執行nslookup sohu.com後能夠看到IP地址仍是被成功解析出來,此次使用的DNS服務器地址爲192.168.0.1與網卡1的DNS服務器地址相符。
  五,測試3——再次鏈接雙網卡下DNS解析:
  咱們從新將網卡2開啓並順利鏈接以前的網絡,再次執行nslookup sohu.com後能夠看到IP地址仍是被成功解析出來,此次使用的DNS服務器地址爲211.103.158.182。
  登陸網卡1對應的路由器地址(192.168.0.1)查看其得到的DNS是202.106.195.68,與上面的地址不相符。
  登陸網卡2對應的路由器地址(192.168.1.1)查看其得到的DNS是211.103.158.182,與上面的地址相符。
  通過比較和分析在再次啓用網卡2後本地計算機執行域名解析工做又交給了網卡2對應的DNS服務器地址。
  六,測試4——關閉有線網卡後再次開啓下DNS解析
  那麼是否是本機進行DNS解析時會使用最近一次活躍的網卡呢?咱們再次嘗試將有線網卡——網卡禁用再開啓,若是DNS解析時會使用最近一次活躍的網卡,那麼這時本機的DNS地址應該變成網卡1的,可是事實證實這個假想是錯誤的,再次執行nslookup sohu.com後能夠看到IP地址仍是被成功解析出來,此次使用的DNS服務器地址仍是以前的211.103.158.182,此地址依然是網卡2對應的DNS服務器地址。
  七,總結:
  從上面多個測試咱們得出瞭如下結論——當咱們有一個網卡啓用而其餘網卡禁用或斷開時訪問外網DNS解析交給該活動網卡中設置的DNS服務器地址;當有兩個網卡都處於啓用狀態時系統會根據規則自動選擇一個網卡的DNS服務器地址來解析,如何選擇與兩個網卡哪一個先關閉哪一個先開啓是沒有任何關係的。那麼系統自動選擇的規則是什麼呢?html

 

 

  咱們繼續這個話題爲各位從認知盲區解惑雙網卡雙線路DNS解析。
  一,測試結論的一點思考:
  從結論上看無論咱們如何插拔網線和禁用啓用網卡,當本機鏈接兩個網卡時系統老是以網卡2的DNS服務器地址做爲傳輸解析使用。
  (1)本地鏈接次序決定優先級?
  那麼這個優先級是以什麼規則來決定判斷的呢?從本地網絡情況處查詢可知網卡1對應的是本地鏈接1,網卡2對應的是本地鏈接2,這也說明本地系統在選擇DNS服務器地址時並非根據本地鏈接次序來判斷其優先級的。
  (2)有線無線有別決定優先級?
  那麼是否無線網卡的優先級就必定比有線網卡的高呢?結論也不是確定的,筆者還針對了其餘幾個機器進行了測試,發現有的機器有線網卡優先級老是比無線網卡的高,所以這個結論也被否決。
  (3)IP地址決定優先級?
  從實際參數查詢能夠看出網卡1是192.168.0.1,網卡2是192.168.1.1,那麼是否是IP地址越大優先級越高呢?通過測試發現事實也不是這樣的,優先級與IP地址的具體數值無關。
  二,系統自身DNS服務器地址競爭規則:
  通過反覆比較和查詢資料筆者最終發現了系統自身DNS服務器地址競爭規則,那就是從註冊表中要答案。
  第一步:咱們經過regedit命令進入註冊表編輯器,而後找到[HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Tcpip/Parameters/Interfaces/這個鍵值。
  第二步:在該鍵值下咱們能夠看到有不少字符鍵值,每一個字符鍵值都包含32個數值。(如圖1)
  第三步:當咱們查看第一個時就會發現實際上他對應的就是網卡2,裏面的IP地址是192.168.1.1。
  第四步:同時在其下的dhcp name server(DNS)中也可以看到DNS服務器地址211.103.158.182,202.106.0.20的身影。
  第五步:反觀網卡1對應的鍵值卻要排名靠後不少,DNS地址,IP地址等信息也都在該鍵值裏寫得清清楚楚。
  由此咱們能夠得出系統自身DNS服務器地址競爭規則是按照註冊表中各個網卡的順序來排列的,排名靠前的網卡DNS地址優先考慮,排名靠後的網卡DNS地址不予考慮。
  三,總結:
  至此咱們就完全弄清楚了雙網卡雙線路時DNS服務器的選取規則,之後在進行具體設置和故障排查過程當中咱們也要牢記這點,若是非要讓其餘網卡的DNS優先考慮的話就要經過編輯註冊表的方式來解決了,能夠把DNS對應的網卡在註冊表中位置調整得靠前。服務器

 

轉自http://www.233.com/cisco/zhonghe/20081101/105158457.html網絡

相關文章
相關標籤/搜索