萬盛學電腦網

 萬盛學電腦網 >> 網絡應用技術 >> 應用教程 >> 兩塊網卡訪問不同網絡案例分享

兩塊網卡訪問不同網絡案例分享

   現在筆記本很多又有無線網卡,又有有線網卡。如何達到利用這兩個網卡不用切換,能訪問到內網,和外網?其實很簡單,利用路由可以搞定,看看以下分享的案例。在很多公司都很有用,白領必備

  [背景]

  某企業用戶使用的運行Windows XP的計算機裝有兩塊網卡,網卡1通過PPPoE連接到Internet,網卡2通過局域網連接到企業內部網絡,企業內部網絡為172.16.0.0/16,內部網絡網關為172.16.0.1,網卡2的IP地址為172.16.0.17。

  [症狀]

  在沒有連接到Internet的情況下,該用戶可以訪問整個企業內部網絡。當該用戶連接到Internet後,便會失去企業內部網絡172.16.0.0的連通性。該用戶在網絡連接屬性中正確設置了IP地址,子網掩碼和默認網關。

  [分析]

  在該用戶不連接到Internet時,我們在命令行中輸入:route print顯示路由表,顯示所示,目前的默認網關是172.16.0.1。ping內部網絡172.16.0.0均顯示正常。

  接下來該用戶接入Internet,然後我們再次輸入route print顯示路由表,發現路由表默認路由發生了變化,默認網關從172.16.0.1變為61.30.30.61,這個是網卡1連接的網關地址。這時我們再ping 172.16.0.0這個網絡,顯示超時。

  由此我們確認是由於Windows在PPPoE協商後“擅自”更改了默認路由造成的路由錯誤,將發往內網的數據錯誤的發送到了Internet。

  [解決方案

  對於Internet,我們必須使用缺省路由。在內網網關不能提供RIP信息的情況下,我們只能通過設置靜態路由將屬於內網的數據發往172.16.0.17。)

  在cmd下輸入:

  route -p add 172.16.0.0 mask 255.255.0.0 172.16.0.17 metric 1 if []

  這裡的[]代表出口interface的index,這個值你可以使用route print命令看到。注意這個值是16進制,所以你必須在前邊加上0x。比如出口interface是Local Area Connection 2,對應的index是0x10003,則這兩條命令應寫為:

  route -p add 172.16.0.0 mask 255.255.0.0 172.16.0.17 metric 1 if 0x100034 b8 X9 V, o5 w. f9 B

  現在我們再來使用route print查看路由表。在路由表中出現了條新的路由:

  network destination=172.16.0.0 netmask=255.255.0.0 gateway=172.16.0.17

  開

  這條路由表示,對去往172.16.0.0/16的數據選用172.16.0.17作為網關。這樣就可以確保去往內部網絡的數據通過正確的網關進行路由。

  [FAQ]

  Q:上邊例子中的0x10003是怎麼得來的?

  A:使用route print命令得到的顯示。在最開始的幾行顯示的Interface List中。)

  Q:如果我不寫if參數會怎樣?

  A:Windows會自動選擇一個最合適的interface。但是Windows不保證這個選擇就是你想要的。

  Q:route print命令顯示的metric是什麼意思?

  A:metric是十進制的。它代表當出現多條針對同一個prefix的不同路由時,Windows優先使用哪一個路由。Metric值約小優先值越高。例如,對於172.16.0.0/16這個網絡,如果有一個路由的metric是40,另一個是39,那麼Windows將優先使用metric是39的路由。如果在某個時刻,這個路由無效了(例如網絡中斷),那麼將使用metric是40的路由。如果metric 39的路由後來恢復了,將Windows將跳回使用這個路由。

  Q:雙網卡是為了對網絡進行物理隔離,這個方案的目的是什麼?,

  A:提問者沒有搞清楚網絡的基本定義,問題本身的陳述邏輯都有問題,所以不予回答

copyright © 萬盛學電腦網 all rights reserved