2009/04/01

route change

在 windows 連接網路時,windows 會自動判斷決定網路路由,可以透過 route print 查詢目前路由設定列表。



以下為僅連接一個網路時的路由設定列表,
使用的是 interface 0x10006,IP 為 192.168.11.4,Gateway 為 192.168.11.1,此為內部網路。


接上了第二個網路,路由設定列表如下,
新增的網路是 interface 0x4,IP 為 192.168.0.170,Gateway 為 192.168.0.1,此為外部網路。


從第二張圖可以看到 0.0.0.0 mask 0.0.0.0 (代表所有網段)可分別透過兩個網路的 Gateway 連出去,Windows 會根據 Metric 值的大小決定優先使用的 Gateway,值愈小,優先等級愈高。
如上圖,Gateway 192.168.11.1 的 Metric 值較小,所以只要非路由清單中所列其他網段的位址,一率優先走 192.168.11.1。
預設的 Metric 值是由 Windows 自行判斷而決定,但不一定正確,以上述例子來說,interface 0x4 才是真正可以連到 internet 的網路裝置,所以要透過 route change 指令來手動調整 metric 值的大小。

執行
route change 0.0.0.0 mask 0.0.0.0 192.168.0.1 metric 2 if 0x4

第一個 0.0.0.0 代表 Destination;
第二個 0.0.0.0 代表 Netmask;
192.168.0.1 代表欲調整的 Gateway;
metric 2 代表將 Metric 值設為 2;
if 0x4 代表變更的 interface 為 0x4。

變更之後的路由設定如下,

如此便將 Metric 由原本的 40 改為 2,小於 192.168.11.1 的 20,所以便會優先透過 0x4 的裝置上網。

沒有留言:

張貼留言