欢迎来到天天文库
浏览记录
ID:10867952
大小:37.08 KB
页数:5页
时间:2018-07-08
《ros多线做端口映射脚本》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、正文开始,脚本在下面。我做完ROS加VLANADSL多线PCC叠加设置设置后不久,网站开发小组的项目经理就找到我向我提出了需求,因为现在他们的测试服务器是放在我们办公室内网的,我们公司其它部门和其它分公司和我们办公室不是一个局域网,网站开发小组的项目经理想让我们公司的所有同事都能访问到测试服务器做用户体验度测试,想让我帮助实现,当时我一口答应下来,也觉得这是个很简单的事情,但是事情往往出人意料。我一开始的思路是这样的,第一步就是在IP->firewall->nat下面做基于目标的伪装,也就是映射,第二步就是要做回流让内网的客户端也能通过公网IP访问到服务器,第三步就是做动
2、态映射的计划任务,定时更新第一步里面的目标地址即ADSL的地址,最后一步就要用到DDNS做一个二级域名的动态解析方便同事记忆和输入。做完以后发现需求基本满足,就是内网客户端不能通过域名访问到服务器,只能通过内网IP访问,为了精益求精,继续研究,baidu和google上搜索了无数方法均无效,后来在一个论坛里面看到一个高人的回复内容给了我启发,于是再一次尝试配置居然成功了。不敢独享,现在将思路和脚本整理分享给更多需要的人。首先我来分析下出现上述问题的原因,因为我们这里的环境是多线叠加的,我们的每个连接在进行路由之前都会对连接进行标记并路由,不同的标记有可能走不同的路由导致数
3、据没办法顺利到达服务器,其内部数据的具体流向以及转换我也不是很清楚,如有高手路过请不吝赐教。下面进入正题,其实很简单,我们只要在标记里面把目标地址为我们的外网接口地址的数据直接通过就可以解决这个问题了,有几条线就做几个标记,最后要添加计划任务更新标记里的目标地址为对应的外网接口地址,所以加上这最后两步一共是六步,下面就放出每一步的脚本(我的环境是双线叠加的,所以以下脚本都是适合双线的,改成多线的也很容易)1、做映射,这里以把内网的8890端口映射成9000端口为例。comment内容可以先运行脚本以后在winbox里面改,下同1./ip firewall nat
4、 2.add action=dst-nat chain=dstnat comment="225 9000B6CBBFDA1" disabled=no 3.dst-address=175.0.42.18 dst-port=9000 protocol=tcp to-addresses= 4.192.168.0.225 to-ports=8890 add action=dst-nat chain=dstnat comment="225 9000B6CBBFDA2" disabled=no 5/51.dst-address=
5、222.247.116.136 dst-port=9000 protocol=tcp to-addresses= 2.192.168.0.225 to-ports=8890 如果想让外网能通过第一条线路都能访问到服务器的话就要做多少和线路数相同条数的映射2、做回流1./ip firewall nat 2.add action=masquerade chain=srcnat comment="BBD8C1F7" disabled=no 3.out-interface=lan 3、做动态映射的计划任务,下面的脚本需要手动添加到计划任务里
6、面去,下同1.:global ip1 [ /ip address get [/ip address find interface=pppoe-out1] address ] 2.:global newip1 [:pick $ip1 0 [:find $ip1 "/"]] 3.:global oldip1 [/ip fi nat get [/ip fi nat find comment="225 9000端口1"] dst-address] 4.:if ($newip1 != $oldip1) do={ :log info [/ip fi nat set [/ip f
7、irewall nat find comment="225 9000端口1"] dst-address=$newip1]} 5.:global ip2 [ /ip address get [/ip address find interface=pppoe-out2] address ] 6.:global newip2 [:pick $ip2 0 [:find $ip2 "/"]] 7.:global oldip2 [/ip fi nat get [/ip fi nat find comment="225 9000端口2
此文档下载收益归作者所有