彻底征服Windows上OpenUOM客户端的源地址选择问题
写于2013/08/07 一个问题困扰了我多年,相信也困扰了很多人多年!那就是Windows上使用OpenUOM时,通过隧道的包的源IP地址总是OpenUOM虚拟网卡网段的IP地址,由于Windows的路由选择是自动进行的,除非你在应用程序中bind一个地址,否则它选什么你用什么,配置路由时,你无法指定Linux的iproute2的src参数。因此只要是要通过TAP-Win32网卡走的包,其源地址均是TAP-Win32网卡上配置的虚拟IP地址!目前的解决方案有三种: 1.OpenUOM的2.3.0版本有NAT的配置选项: --client-nat snat|dnat network netmask alias 但是我不敢用,怕应用程序的校验码用到了原始IP信息; 2.可以用Windows的LSP来强制bind物理网卡的IP,但是我还是觉得不够完美; 3.在服务端做SNAT。然而为了WIndows客户端做定制,也不完美; 网络的问题就要网络自己解决,不要依赖太多上层的东西!虽然Windows网络不给力,但是想降伏它还是有办法的,大不了就搞NDIS啊!客户端自己的事情自己解决,别麻烦服务端,为了解决客户端的问题,在服务端加配置算什么事啊! 写在前面 这篇文章 描述了Windows选择源IP地址的详细过程,另外微软的文档中也有介绍,这里就不多说了。总之,不管是强主机模式还是弱主机模式