配置Windows路由表根据IP段进行VPN分流

Published: Tags: WINDOWS VPN

最近需要为公司的国外合作方提供内网测试环境,用来体验我们开发中的产品,不考虑PC远程桌面的情况下, 测试了这三种方案:使用VPN连接、使用内网穿透、使用TLS/SSL或Socks代理,发现体验最好的还是VPN连接。

但是如果使用VPN连接的话会有个问题,就是合作方的所有流量都会先走我们公司内网,然后才会往外发送。 其实只要使用系统自带的路由表就能很容易的对流量进行IP段分流(以上几种方式的部署方法不在本教程中)

 

第一步,建立VPN连接,填写相应信息:

  • 打开「控制面板」并调整右上角的「查看方式」为任意图标类型
  • 点击列表中的「网络和共享中心」并选择「设置新的连接或网络」
  • 在弹出来的新窗口中选择第三个「连接到工作区」,点击下一步
  • 然后选择「使用我的 Internet 连接(VPN)」这个选项
  • 接着填写「Internet 地址」,举例:office.jtwo.me
  • 填写「目标名称」需要记得,待会将要用到,举例:产品组测试

 

第二步,修改VPN设置,取消流量传输:

  • 点击左侧列表「更改适配器设置」,找到刚才新建的「产品组测试」网络
  • 右击「产品组测试」并选择属性,选择「安全」标签页并修改「VPN类型」
  • 选择「网络」并修改「Internet 协议版本」中4和6的「属性」的「高级」
  • 取消「IP 设置」标签页中的「在远程网络上使用默认网关」的选中状态

 

第三步,修改系统路由表,指定IP段分流:

  • 双击拨号连接「产品组测试」这个VPN并输入账号和密码,等待连接成功
  • 在「开始菜单」找到「Windows 系统」的「命令提示符」右击管理员运行
  • 输入命令(这里就要用到刚才填写的VPN的目标名称,举例:产品组测试)
# 显示已经连接的VPN接口以及对应的接口编号,记住最前面的数字,举例:38
route print | findstr "产品组测试"

# 添加公司内网IP段,下方的38就是接口编号,IP段举例:172.16.196.0/24
route add -p 172.16.196.0/24 0.0.0.0 if 38

# 到这里就完成所有配置了,参数 -p 是指添加永久路由表,重启系统仍然保留

 

附注:

网上部分资料使用了以下命令,但经过笔者测试都没有使用接口的方法好,仅做记录: route add -p 172.16.196.0/24 192.168.10.0 当时可以连接,重启系统失效,未知原因 route add -p 172.16.196.0/24 192.168.10.5 如果下次拨号分配IP地址改变,也会不行