更改系統路由解決無法上網的問題

zzt0605發表於2011-08-31

公司分內外網,可能是因為是臨時IP的原因,無法上網。於是祭出了我的殺手鐗。我把安卓手機設定為3G無線路由器,然後電腦連線到了網際網路上。但是插上網線之後就不能用了。

 

用命令查了一下路由:

tracert baidu.com

霍!竟然給我路由到內網去了。為什麼呢?

 

檢視了一下系統路由:

C:\Documents and Settings\Administrator>route print

===========================================================================

Interface List

0x1 ........................... MS TCP Loopback interface

0x2 ...00 26 82 c5 04 e3 ...... Broadcom 802.11n 網路介面卡 - 資料包計劃程式微型

0x3 ...f0 de f1 12 ca fc ...... Atheros AR8131 PCI-E Gigabit Ethernet Controller

 - 資料包計劃程式微型埠

===========================================================================

===========================================================================

Active Routes:

Network Destination        Netmask          Gateway       Interface  Metric

          0.0.0.0          0.0.0.0    10.10.156.201   10.10.156.246       20

          0.0.0.0          0.0.0.0     192.168.43.1  192.168.43.160       25

      10.10.156.0    255.255.254.0    10.10.156.246   10.10.156.246       20

    10.10.156.246  255.255.255.255        127.0.0.1       127.0.0.1       20

   10.255.255.255  255.255.255.255    10.10.156.246   10.10.156.246       20

        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1

        224.0.0.0        240.0.0.0    10.10.156.246   10.10.156.246       20

  255.255.255.255  255.255.255.255    10.10.156.246   10.10.156.246       1

  255.255.255.255  255.255.255.255    10.10.156.246               2       1

Default Gateway:     10.10.156.201

===========================================================================

Persistent Routes:

  None

 

這裡顯示預設閘道器是10.10.156.201。其中有兩條0.0.0.0 0.0.0.0的路由,分別對應我的兩張網路卡:有線網路卡10.10.156.246(公司內網)和無線網路卡192.168.43.160(通過手機WIFI連線的網際網路)。0.0.0.0 0.0.0.0的路由的意思是,所有不知道到哪裡的資料包都按這條規則來走。但是現在有兩條,怎麼走呢?區別在於兩條路有的Metric不一樣,權值小的路由優先順序高。本地網路卡權值是20,高於無線網路卡的權值25。所以無法上網。

 

於是想著把無線網路的路由權值改的小一點。網上隨便查了下資料,找到一片比較全面的,看著資料設定了一下:

Route -p add 0.0.0.0 mask 0.0.0.0 192.168.43.1 metric 7

 

然後檢視路由

C:\Documents and Settings\Administrator>route print

===========================================================================

Interface List

0x1 ........................... MS TCP Loopback interface

0x2 ...00 26 82 c5 04 e3 ...... Broadcom 802.11n 網路介面卡 - 資料包計劃程式微型

0x3 ...f0 de f1 12 ca fc ...... Atheros AR8131 PCI-E Gigabit Ethernet Controller

 - 資料包計劃程式微型埠

===========================================================================

===========================================================================

Active Routes:

Network Destination        Netmask          Gateway       Interface  Metric

          0.0.0.0          0.0.0.0      10.10.156.201   10.10.156.246       20

        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1

      192.168.1.0    255.255.255.0    10.10.156.246   10.10.156.246       20

    10.10.156.246  255.255.255.255        127.0.0.1       127.0.0.1       20

    192.168.1.255  255.255.255.255    10.10.156.246   10.10.156.246       20

        224.0.0.0        240.0.0.0    10.10.156.246   10.10.156.246       20

  255.255.255.255  255.255.255.255    10.10.156.246   10.10.156.246       1

  255.255.255.255  255.255.255.255    10.10.156.246               2       1

Default Gateway:       192.168.43.1

===========================================================================

Persistent Routes:

  Network Address          Netmask  Gateway Address  Metric

          0.0.0.0          0.0.0.0     192.168.43.1       7

 

然後就能正常上網了。

 

附網上查到的那篇文章。

1.      Route命令詳解

1.具體功能

       該命令用於在本地IP路由表中顯示和修改條目。使用不帶引數的ROUTE可以顯示幫助。

2.語法詳解

       route [-f] [-p] [command [destination] [mask netmask] [gateway] [metric

       metric] [if interface]

3.引數說明

-f

清除所有不是主路由(子網掩碼為255.255.255.255的路由)、環回網路路由(目標為127.0.0.0,子網掩碼為 255.255.255.0的路由)或多播路由(目標為224.0.0.0,子網掩碼為240.0.0.0的路由)的條目的路由表。如果它與命令之一(例如AddChangeDelete)結合使用,表會在執行命令之前清除。

-p

Add命令共同使用時,指定路由被新增到登錄檔並在啟動TCP/IP協議的時候初始化IP路由表。預設情況下,啟動TCP/IP協議時不會儲存新增的路由,Print命令一起使用時,則顯示永久路由列表。所有其他的命令都忽略此引數。永久路由儲存在登錄檔中的位置是 HKEY_LOCAL_MACHSYSTEMCurrentControlSetServicesTcpipParametersPersistentRoutes

command 指定要執行的命令。下表列出了有效的命令。

destination

指定路由的網路目標地址。目標地址可以是一個IP網路地址(其中網路地址的主機地址位設定為0),對於主機路由是IP地址,對於預設路由是0.0.0.0mask

subnetmask

指定與網路目標地址相關聯的網掩碼(又稱子網掩碼)。子網掩碼對於IP網路地址可以是一適當的子網掩碼,對於主機路由是255.255.255.255

,對於預設路由是0.0.0.0。如果忽略,則使用子網掩碼255.255.255.255。定義路由時由於目標地址和子網掩碼之間的關係,目標地址不能比它對應的子網掩碼更為詳細。換句話說,如果子網掩碼的一位是0,則目標地址中的對應位就不能設定為1

gateway

指定超過由網路目標和子網掩碼定義的可達到的地址集的前一個或下一個躍點IP地址。對於本地連線的子網路由,閘道器地址是分配給連子網介面的IP地址。對於要經過一個或多個路由器才可用到的遠端路由,閘道器地址是一個分配給相鄰路由器的、可直接達到的IP地址。

metric metric

為路由指定所需躍點數的整數值(範圍是19999),它用來在路由表裡的多個路由中選擇與轉發包中的目標地址最為匹配的路由。所選的路由具有最少的躍點數。躍點數能夠反映躍點的數量、路徑的速度、路徑可靠性、路徑吞吐量以及管理屬性。

 

例子6:要新增目標為10.41.0.0,子網掩碼為255.255.0.0,下一個躍點地址為10.27.0.1,躍點數為7的路由,執行以下命令:

route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 metric 7

 

if interface 指定目標可以到達的介面的介面索引。使用Route print命令可以顯示介面及其對應介面索引的列表。對於介面索引可以使用十進位制或十六進位制的值。對於十六進位制值,要在十六進位制數的前面加上0x。忽略if引數時,介面由閘道器地址確定。

注意:路由表中躍點數一列的值較大是由於允許TCP/IP根據每個LAN介面的IP地址、子網掩碼和預設閘道器的配置自動確定路由表中路由的躍點數造成的。預設啟動的自動確定介面躍點數確定了每個介面的速度,調整了每個介面的路由躍點數,因此最快介面所建立的路由具有最低的躍點數。要刪除大躍點數,請在每個 LAN連線的TCP/IP協議的高階屬性中禁用自動確定介面躍點數。

如果在systemrootSystem32DriversEtc資料夾的本地網路檔案中存在適當的條目,名稱可以用於Destination。只要名稱可以通過“域名系統”(DNS)查詢這樣的標準主機名解析技術分解為IP地址,就可以將其用於GatewayDNS查詢使用儲存在 systemrootSystem32DriversEtc

資料夾下的本地主機檔案和NetBIOS 名稱解析。

如果是PrintDelete命令,可以忽略Gateway引數,使用萬用字元來表示目標和閘道器。Destination的值可以是由星號(*)指定的萬用字元。如果指定目標含有一個星號(*)或問號(?),它被看作是萬用字元,只列印或刪除匹配的目標路由。星號代表任意一字元序列,問號代表任一字元。例如, 10.*.1192.168.*127.**224*都是星號萬用字元的有效使用。

使用了無效的目標和子網掩碼(網掩碼)值的組合,會顯示“Route bad gateway address

netmask”錯誤訊息。目標中有一位或多位設定為1,而其在子網掩碼中的對應位設定為0時會發生這個錯誤。可以通過二進位制表示法表示目標和子網掩碼來檢查這種情況。以二進位制表示的子網掩碼包括表示目標網路地址部分的一連串的1和表示目標主機地址部分的一連串的0兩個部分。檢視目標以確定目標的主機地址部分(由子網掩碼所定義)

是否有些位設定成了1

 

Windows 98 Route命令不支援-p引數。

只有當TCP/IP協議在網路連線中安裝為網路介面卡屬性的元件時,該命令才可用。

    4.例舉說明

例子1:要顯示IP路由表的完整內容,執行以下命令:

route print

例子2:要顯示IP路由表中以10.開始的路由,執行以下命令:

route print 10.*

例子3:要新增預設閘道器地址為192.168.12.1的預設路由,執行以下命令:

route add 0.0.0.0 mask 0.0.0.0 192.168.12.1

例子4:要新增目標為10.41.0.0,子網掩碼為255.255.0.0,下一個躍點地址為10.27.0.1的路由,執行以下命令:

route add 10.41.0.0 mask 255.255.0.0 10.27.0.1

例子5:要新增目標為10.41.0.0,子網掩碼為255.255.0.0,下一個躍點地址為10.27.0.1的永久路由,執行以下命令:

route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1

例子7:要新增目標為10.41.0.0,子網掩碼為255.255.0.0,下一個躍點地址為10.27.0.1,介面索引為0x3的路由,執行以下命令:

route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 if 0x3

例子8:要刪除目標為10.41.0.0,子網掩碼為255.255.0.0的路由,執行以下命令:

route delete 10.41.0.0 mask 255.255.0.0

例子9:要刪除IP路由表中以10.開始的所有路由,執行以下命令:

route delete 10.*

例子10:要將目標為10.41.0.0,子網掩碼為255.255.0.0的路由的下一個躍點地址由10.27.0.1更改為10.27.0.25,執行以下命令:

route change 10.41.0.0 mask 255.255.0.0 10.27.0.25

Route

   大多數主機一般都是駐留在只連線一臺路由器的網段上。由於只有一臺路由器,因此不存在使用哪一臺路由器將資料包發表到遠端計算機上去的問題,該路由器的IP地址可作為該網段上所有計算機的預設閘道器來輸入。

但是,當網路上擁有兩個或多個路由器時,你就不一定想只依賴預設閘道器了。實際上你可能想讓你的某些遠端IP地址通過某個特定的路由器來傳遞,而其他的遠端IP則通過另一個路由器來傳遞。

在這種情況下,你需要相應的路由資訊,這些資訊儲存在路由表中,每個主機和每個路由器都配有自己獨一無二的路由表。大多數路由器使用專門的路由協議來交換和動態更新路由器之間的路由表。但在有些情況下,必須人工將專案新增到路由器和主機上的路由表中。Route就是用來顯示、人工新增和修改路由表專案的。

route print--本命令用於顯示路由表中的當前專案,由於用IP地址配置了網路卡,因此所有的這些專案都是自動新增的。

route add--使用本命令,可以將信路由專案新增給路由表。例如,如果要設定一個到目的網路209.98.32.33的路由,其間要經過5個路由器網段,首先要經過本地網路上的一個路由器,器IP202.96.123.5,子網掩碼為255.255.255.224,那麼你應該輸入以下命令:

route add 209.98.32.33 mask 255.255.255.224 202.96.123.5 metric 5

route change--你可以使用本命令來修改資料的傳輸路由,不過,你不能使用本命令來改變資料的目的地。下面這個例子可以將資料的路由改到另一個路由器,它採用一條包含3個網段的更直的路徑:

route add 209.98.32.33 mask 255.255.255.224 202.96.123.250 metric 3

route delete--使用本命令可以從路由表中刪除路由。例如:route delete 209.98.32.33

------------------------------------------------------------------------------

使用 Route 命令列實用工具

可以使用 Route 命令列工具檢視並編輯計算機的 IP 路由表。Route 命令和語法如下所示:

route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]] -f 清除所有閘道器入口的路由表。

-p add 命令一起使用時使路由具有永久性。

Command 指定您想執行的命令 (Add/Change/Delete/Print)

Destination 指定該路由的網路目標。

mask Netmask 指定與網路目標相關的網路掩碼(也被稱作子網掩碼)。

Gateway 指定網路目標定義的地址集和子網掩碼可以到達的前進或下一躍點 IP 地址。

metric Metric 為路由指定一個整數成本值標(從 1 9999),當在路由表(與轉發的資料包目標地址最匹配)的多個路由中進行選擇時可以使用。

if Interface 為可以訪問目標的介面指定介面索引。若要獲得一個介面列表和它們相應的介面索引,使用 route print 命令的顯示功能。可以使用十進位制或十六進位制值進行介面索引。

/? 在命令提示符處顯示幫助。

 

示例

若要顯示 IP 路由表的全部內容,請鍵入:

route print

若要顯示以 10. 起始的 IP 路由表中的路由,請鍵入:

route print 10.*

若要新增帶有 192.168.12.1 預設閘道器地址的預設路由,請鍵入:

route add 0.0.0.0 mask 0.0.0.0 192.168.12.1

若要向帶有 255.255.0.0 子網掩碼和 10.27.0.1 下一躍點地址的 10.41.0.0 目標中新增一個路由,請鍵入:

route add 10.41.0.0 mask 255.255.0.0 10.27.0.1

若要向帶有 255.255.0.0 子網掩碼和 10.27.0.1 下一躍點地址的 10.41.0.0 目標中新增一個永久路由,請鍵入:

route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1

若要向帶有 255.255.0.0 子網掩碼、10.27.0.1 下一躍點地址且其成本值標為 7 10.41.0.0 目標中新增一個路由,請鍵入:

route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 metric 7

若要向帶有 255.255.0.0 子網掩碼、10.27.0.1 下一躍點地址且使用 0x3 介面索引的 10.41.0.0 目標中新增一個路由,請鍵入:

route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 if 0x3

若要刪除到帶有 255.255.0.0 子網掩碼的 10.41.0.0 目標的路由,請鍵入:

route delete 10.41.0.0 mask 255.255.0.0

若要刪除以 10. 起始的 IP 路由表中的所有路由,請鍵入:

route delete 10.*

若要將帶有 10.41.0.0 目標和 255.255.0.0 子網掩碼的下一躍點地址從 10.27.0.1 修改為 10.27.0.25,請鍵入:

route change 10.41.0.0 mask 255.255.0.0 10.27.0.25

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22957140/viewspace-706380/,如需轉載,請註明出處,否則將追究法律責任。

相關文章