最近在新建的分公司园区干活,项目的系统需要读取另外一个区域集团机房中的内网数据。
因为系统内网数据比较敏感,所以不能开放公网接口,业务数据只能通过内网的或vpn网络进行访问。新建的分公司园区的办公环境和网络环境还没有做好,租用的运营商vpn网络也还没有接入。现在访问内网成了个问题,vpn网络都是租用专线,没有公网的vpn可以用。
因为要临时在分公司园区测试项目数据读取,信息化部门给临时提了一个运营商配置的无线网卡,专用移动电脑接入集团VPN的用的方案。第一次接触基于运营商无线网络终端的专用VPN解决方案,学到一些新的知识这里记录一下。
运营商是用的中国移动,基于无线流量网卡实现原理是在机房和需要连接vpn网络的终端电脑上各安装一个usb无线网卡,网卡中插SIM卡走运营商基站,网卡在运营商处做了特殊绑定,给这两个网卡分配了专用的固定城域网IP(10段的),运营商通过策略保证针对这两个配对网卡的流量进行点对点的vpn网络传输。
做到了随时随地可以通过usb无线网卡到公司vpn网络的连接,一般的办公和日常使用没什么问题。我们项目调试环境比较特殊,需要在linux环境中使用内网资源。
发现移动提供的usb无线网卡没有linux下的驱动程序,没有尝试在linux机器上直接插usb网卡。我们采用的是在分公司的内网中找一台跟linux服务器互通的windows工作站作为代理,把usb无线网卡插到windows工作站中,然后再用windows中的代理软件CCProxy做端口映射,将需要连接的集团内网ip和端口映射到分公司内网。
拓展题:usb无线基站网卡在linux上是否可以使用?如何进行驱动配置?
在测试代理端口映射之前遇到了windows中有3个网卡,访问的路由随机跳的问题,跳对了就能访问,跳错了就不能访问。工作站本身就有两个网卡口,已经都用来用于连接外网和不同的内网子网。再加上新插上的usb无线网卡,这台机器共有3个网卡和3个不同的子网需要连接。多个网卡网关配置以后就需要进行静态路由绑定,让固定的网段访问和外网访问分别走不同的网卡网关。
配置静态路由 route 命令是第一次操作,绑定静态路由的过程中涉及到的内网ip段的子网掩码都不知道是什么,自己也不会计算,就把把各个子网掩码的可能都给配置上了。配置完以后通过路由追踪命令tracert 测试是可以正常直接集团公司内网、外网、子网,但发现连集团内网的第一个跃点是响应失败的,内网连接速度会慢一点。
扩展题:子网掩码在网段分配和局域网中起什么样的作用呢?
如何解决静态路由第一次跃点响应失败?
添加静态路由的命令类似这样,以下ip地址和子网掩码,网关都是虚构的,需要根据实际情况进行配置。
1.删除全部路由配置:
route delete 0.0.0.0
2.添加新的永久静态路由配置:默认请求都走192.254.2.1网关;如果是10.253.25.* 的子网掩码255.255.255.0网段,走 10.13.12.1 的路由网关。
route -p add 0.0.0.0 mask 255.255.255.0 192.254.2.1 metric 1
route -p add 10.253.251.0 mask 255.255.255.0 10.13.12.1 metric 1
3.通过:route print 查永久路由绑定的列表。
4.路由设置成功以后通过路由追踪命令tracert 测试静态路由表是否生效。
路由追踪命令类似:tracert 10.253.251.12
把跨城的无线vpn网络调通以后,开始在工作站通过CCProxy进行端口映射的操作,下载软件以后设置的端口映射,在本机测试端口转发都可以,但在局域网linux机器上访问windows的工作站IP端口映射不通,检查windows防火墙设置,正确的操作是进行例外的端口和软件放行,因为临时用,直接把windows 的防火墙关掉了。关掉以后内网的端口映射就通了。
在用CCproxy软件之前,为了测试还用了一段时间的SSH隧道的方式进行ssh -R反向代理映射集团内网端口。在windwos工作站中的putty登录linux服务器后反向隧道建立命令类似:
ssh -R 0.0.0.0:5700:10.253.251.12:5700 [email protected] -P
拓展题:SSH -R,ssh -L这种ssh隧道代理可以用在什么场景,如何方便进行内网的相互穿透呢?
liunx 中的多网卡访问不同子网时静态路由绑定怎么操作?
…后记
这次操作看似简单,实际上在配置的时候用了4个小时左右才测试通过,其中最多的时间花在不了解路由表分配原理,一直在不停的调试网卡和网络适配器设置,开始插上无线网卡不通以为是win10系统不兼容导致的,后来发现是多网卡导致的。不停的的系统上设置网卡优先级和网桥等功能,设置来,设置去都不能解决多网卡访问路由随便跳的问题。
直到自己耐下心来决定配置一下路由表才得以快速解决这个问题。扎实的解决方案和快速的解决问题能力很多都是在一次次不断的尝试的摸索中得来的。多多珍惜能在你身边能给帮你快速解决问题的人。也许那些随手而为的事情也是他们花费大量时间学习实践而来的。