当前位置:文档之家› ros多线做端口映射脚本

ros多线做端口映射脚本

正文开始,脚本在下面。

我做完ROS加VLAN ADSL多线PCC叠加设置设置后不久,网站开发小组的项目经理就找到我向我提出了需求,因为现在他们的测试服务器是放在我们办公室内网的,我们公司其它部门和其它分公司和我们办公室不是一个局域网,网站开发小组的项目经理想让我们公司的所有同事都能访问到测试服务器做用户体验度测试,想让我帮助实现,当时我一口答应下来,也觉得这是个很简单的事情,但是事情往往出人意料。

我一开始的思路是这样的,第一步就是在IP->firewall-> nat下面做基于目标的伪装,也就是映射,第二步就是要做回流让内网的客户端也能通过公网IP 访问到服务器,第三步就是做动态映射的计划任务,定时更新第一步里面的目标地址即ADSL的地址,最后一步就要用到DDNS做一个二级域名的动态解析方便同事记忆和输入。

做完以后发现需求基本满足,就是内网客户端不能通过域名访问到服务器,只能通过内网IP访问,为了精益求精,继续研究,baidu和google 上搜索了无数方法均无效,后来在一个论坛里面看到一个高人的回复内容给了我启发,于是再一次尝试配置居然成功了。

不敢独享,现在将思路和脚本整理分享给更多需要的人。

首先我来分析下出现上述问题的原因,因为我们这里的环境是多线叠加的,我们的每个连接在进行路由之前都会对连接进行标记并路由,不同的标记有可能走不同的路由导致数据没办法顺利到达服务器,其内部数据的具体流向以及转换我也不是很清楚,如有高手路过请不吝赐教。

下面进入正题,其实很简单,我们只要在标记里面把目标地址为我们的外网接口地址的数据直接通过就可以解决这个问题了,有几条线就做几个标记,最后要添加计划任务更新标记里的目标地址为对应的外网接口地址,所以加上这最后两步一共是六步,下面就放出每一步的脚本(我的环境是双线叠加的,所以以下脚本都是适合双线的,改成多线的也很容易)
1、做映射,这里以把内网的8890端口映射成9000端口为例。

comment内容可以先运行脚本以后在winbox里面改,下同
如果想让外网能通过第一条线路都能访问到服务器的话就要做多少和线路数相同条数的映射
2、做回流
3、做动态映射的计划任务,下面的脚本需要手动添加到计划任务里面去,下同
4、做DDNS动态域名解析
脚本1(适合只需要一条线能访问到服务器的情况)
脚本2(适合需要每条线都能访问到服务器的情况)
5、添加目标地址为外网接口地址的标记
6、添加动态更新目标地址为外网接口地址的计划任务,以下为计划任务里面的脚本,需要手动添加到计划任务里面去。

相关主题