雙網卡雙線路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服務器地址來解析,如何選擇與兩個網卡哪個先關閉哪個先開啟是沒有任何關系的。那么系統自動選擇的規則是什么呢?

 

 

  我們繼續這個話題為各位從認知盲區解惑雙網卡雙線路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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM