天天看點

虛拟伺服器源位址目的位址,基于windows的源位址路由設定的3種方法

一般的路由設定方式為目的路由,即對目的IP做比對,若滿足一定的規則,則把資料從某個網口發出去(同時也決定了目的MAC位址)。源位址路由,顧名思義,對源位址IP做比對,若滿足一定的規則,則把資料從某個網口發出去。

在linux上,可以做ip route2工具做源位址路由設定,而windows上是沒有類似的工具包的。有一些情況下,目的路由滿足不了我們的要求,而需要做源位址路由。

如我們的伺服器有多個網關的情況(甚至同一個網卡下有多個網段位址,對應了多個網關),而目的端的IP位址無法确定(比如裝置上傳的IP不确定),做不了目的路由,資料就會從預設的路由出去,這樣就會導緻資料從網關2進來,回複的資料從網關1出去,這樣資料肯定會有問題的。

解決此問題有多個方案:

1,在路由器上做源位址轉換,把外部IP轉換成内部IP

1)目前在華為路由器上支援此功能,而在思科路由器上面沒有找到

2)此方案的效率不是最優的,可能由路由器帶來比較重的負擔

3)内部的服務看不到真實的外部IP

2,在伺服器上建立虛拟機,化解多個網關的問題

1)虛拟機比較費資源,效率不是最優的

2)虛拟機的穩定性比較差

3,在伺服器上做源位址路由

1)目前在linux上有現成的工具,而windows上沒有2)windows上需要寫ndis驅動,需要開發

3)此方案在效率上是最優的,對應用也是不可見的。

我采用了第3種:方案:在伺服器上做源位址路由,在這裡我把源碼給大家分享出來。

代碼中的配置還不是很靈活,但已經在實際環境中使用過了(windows2003sp1,windows2008r2)。

以上就是基于windows的源位址路由設定的三個方法,謝謝閱讀,如果幫到了您,不妨分享給更多的朋友,讓他們受惠。請繼續關注華強電子網,我們會努力分享更多優秀的文章。