WINDOWS XP PRO下有沒有甚麼路由管理軟體,方便控制不同的 "應用軟體" 走不同的gateway? 而不是以目的IP來作靜態路由選擇.
用route命令是可以修改路由,但是應該沒辦法讓不同應用軟體走不同的路由。其他工具就不知道了。
以IP作靜態路由我知道,但這樣並不方便,就以MSN當例子好了,MSN在登入和聊天使用的過程中,對外連線的IP並不是固定的,且隨時都可能改變目的IP,這樣就很難設定MSN的封包全部走哪個路由出去,如果能以應用程式來控制路由,就可以指定MSN這個程式去使用固定的gateway對外連線.
剛剛稍微看了一下msn protocol的資料,簡單地說,msn通訊都會經過msn network的伺服器,跟伺服器預設的通訊埠是1863,但是還可以透過80埠或socks代理伺服器來做連線。
既然msn可以透過1863、80 port以及socks代理伺服器做連線,要依靠port判斷來做forward可能會有一些困難。如果不管用80以及socks的狀況,是可以在gateway與使用者之間架一個防火牆來達到你的目的。
另外,msn通訊協定的設計,是讓所有的連線透過msn的伺服器來進行,所以也可以考慮這方面的方法,但是可能要有根據域名來過濾封包的能力。因為域名跟ip以及路由沒直接關係,就算可以cache,開銷也不小。(我有看到有router可以用這個方式過濾封包的)
至於動態路由,很不好意思,我還沒看到這樣控制的方法。ip路由是第三層的協定、msn是第五到七層的協定,是否真的可以用動態路由協定來達到你所說的功能?老實說我有一點懷疑。
恩恩,MSN使用port 1863和443用來作login, 但聊天過程卻用port 80, 光是在login過程就可能切換兩三個不同IP的port 1863連線,甚至一群IP的port 443連線才完成login的動作.
我知道有些工具軟體可以攔截應用程式的網路連線,然後讓不同的應用程式的封包轉到不同的proxy,這應該算都在應用程式層去作的事,而不是在網路層或是傳輸層作的,我想既然可以完整攔截整個應用程式封包去強迫走某個proxy,那應該也可以作類似動作去強迫走某個gateway,使用這類的工具好處就是應用程式本身並不需要修改,也不需要特別設定,應用程式本身根本不知道自己的網路傳輸被攔截,對應用程式而言好像是直接連線上網.
有興趣可以看看freecap這支程式作的proxy chain攔截.
恩恩,受教了,其實這方面我也不太熟悉。
我也不知道有沒有軟體做得到,不過從protocol看起來,所有的交通都會通過msn的伺服器,可以辨認的特點也在這裡,所以要做的攔截是需要依賴dns服務,程式可能需要維護一個cache,裡面存放根據特定域名規則抓到的ip,然後符合這些ip的封包把他轉送到特定的gateway吧?另外還需要透過過濾封包目標ip的域名來更新cache。
阿阿,剛剛看到還有msn client protocol,走peer to peer....看來是行不通了
應該沒有吧..
一張網卡只能設定對映一個gateway
有可能能設兩個gateway嗎??
我記得沒有..
若是一次裝兩張以上的網卡,或許可以試試
一張網卡可以設兩個 Gateway 喔....
在設定 IP 那裡,按[進階],選[IP設定]頁籤,下面有預設閘道,按[新增]就可以增加閘道
設定兩個閘道,電腦會自動選擇一條 metric(公制)低的出去,也可以手動設定 metric
不過這可能對 uart 的問題沒什麼幫助...
Windows Server System,沒有Support類似CISCO Router & Linux System 裡面的PBR (Policy Base Routing) 所以沒辦法達到你的需求。