基于windows的源地址路由

一般的路由设置方式为目的路由,即对目的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)。



  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值