事情是這樣,公司開放讓 IT 可透過遠端桌面連入公司的個人電腦,但限制只能使用固定 IP 申請、連上。拜中華電信所賜,我的光纖也有固定 IP 可使用,但這個固定 IP 卻是我另一台 Server 使用。
而我平常使用的電腦是每次撥接上線就取得動態 IP,動態 IP 無法連入公司網路,為了不想連到公司還要先遠端登入到另一台擁有固定 IP 的 Server,得另外想想辦法才行。
我的網路架構如下:
一開始我是想透過 Server 的 Proxy 出去(Server 本來就有架設 Proxy Server),但遍尋不著 Windows 遠端桌面可以設定 Proxy 的方法,連 G大神、知識加也找不到,因此這個方法失敗。
第二個嘗試的方式是我這台 PC 直接透過 Server 上網,將 Server 的撥接連線設定為網際網路連線共用,我這台 PC 則把預設 Gateway 改到 Server 的 IP。這樣我這台 PC 就可以不用撥接,只要開機後透過 Server 即可連出去。我是按照以前我成功的經驗去設定的,但不知為什麼始終無法成功,正想放棄之時,我想到了第三個方案。
第三個方案是我之前一直很想嘗試,但沒時間去徹底研究的方案(或是說懶得去 try & error),修改電腦中的 route table。我是參考 Microsoft Windows Server 2003 TechCenter 上關於 route 指定的說明,增加了一組 route 設定,將原本要連到公司 IP 的封包全部轉由 Server 出去,作法如下。
- Server 端還是要開啟網際網路連線共用
- 打開 dos command,執行 route print 指令先查看目前的 route table,方便和加入設定後做比較。
- 加入一組 route 設定,指令:
route -p add [目的IP] mask 255.255.255.255 [GatewayIP] metric 2
[目的IP] 指的是要連到的 IP 位置,以我的情況來說這裡是填上公司 Server 的 IP
[GatewayIP] 指的是中間要負責轉發封包的電腦的 IP 位置,我是填上我的 Server IP
增加參數 -p 的用意是持續保留此設定,即使重開機也不會失效。 - 重新使用 route print 檢查 route table,剛剛執行的指令已生效,Persistent Routes 也出現了剛剛的設定,重開機設定也不會失效了。
大功告成,這樣一來所有連往公司 IP 的封包都會透過 Server 轉發出去,想要懶惰果然要付出一點代價。