Ros的Jump命令实现端口转发及回流

已为老胡 2023-06-28 PM 752℃ 2条

此方法适用于任何版本的Ros系统没有版本限制,更没有功能上的局限,非常好用,效果也是杠杠的哦,废话不多说,我们正式开始。

同样,我们用winbox软件进入Ros后台,然后点击IP-Firewall

Ros端口转发及完美回流,配合DDNS,简直无孔不入!!!----下篇

上菜单栏点击nat,然后点击加号

Ros端口转发及完美回流,配合DDNS,简直无孔不入!!!----下篇

在弹出来的界面点击GeneralChain选项选择dstnat

Ros端口转发及完美回流,配合DDNS,简直无孔不入!!!----下篇

接着在上菜单栏选择Action,然后在下面的Action选择jump,在往下找到Jump Targer输入一个名称,这里大家随意,我填port-nat,最后点击OK:

Ros端口转发及完美回流,配合DDNS,简直无孔不入!!!----下篇

接下来我们去建立一条脚本,点击System-Scripts

Ros端口转发及完美回流,配合DDNS,简直无孔不入!!!----下篇

在上菜单栏点击Scripts,然后点击加号,在弹出来的界面中,Name输入一个名称,这个名称很重要,一定要记住,我建议新手朋友跟我一样就行,省的后面还要改脚本,我这里填入dynamic_nat,在下面的代码框输入我给大家提供的脚本代码:

:global addold

:global addnew

:set addnew [/interface get [/interface find name="pppoe-out1"] running]

:if ($addnew=true) do={

:set addold [/ip address get [/ip address find dynamic=yes interface="pppoe-out1"] address]

:set addold [:pick $addold 0 ([:len $addold ] -3)]

/ip firewall nat set [/ip firewall nat find comment="dynamic_nat"] dst-address=$addold

}


脚本中需要改3处地方,分别给大家加粗了,前两处改动的就是你拨号的名称,大家根据自己的命名来修改,看下图:

Ros端口转发及完美回流,配合DDNS,简直无孔不入!!!----下篇

第三处就是我们新建的这个scripts的名称,如果大家跟我同样的命名,就不需要改了,最后点击OK:

Ros端口转发及完美回流,配合DDNS,简直无孔不入!!!----下篇

紧接着我们需要让它定时启动,但是这次我们不用定时任务功能(scheduler),我们用PPP里的Profiles来执行,这样的好处就是,跟拨号捆绑在一起,只有重新拨号,IP肯定会改变,IP一改变,马上检索到变化并赋值给nat,非常高效及时,大家跟着我操作。

回到Ros主界面,点击左菜单栏PPP

Ros端口转发及完美回流,配合DDNS,简直无孔不入!!!----下篇

在弹出的界面点击Profiles,然后点加号,接着在Name输入名称,这里大家可以随意填写,我写的是pppoe-clien-profile,但是可以跟我一样,在下面的Change TCP MSS勾选yes,一定要勾选上,别忘了:

Ros端口转发及完美回流,配合DDNS,简直无孔不入!!!----下篇

然后点击上菜单栏Scripts,在下面输入我给大家提供的代码:

delay 3s

:execute "dynamic_nat"

加粗部份需要改成你刚才设置Scripts时的命名,如果大家一直跟我保持一致,就不需要改动了,直接复制进去就好;另外,这里解释一下这段代码,意思就是每当重新拨号,3秒中后系统就会执行以dynamic_nat命名的Scripts脚本,总的来说,就是跟拨号捆绑在了一起,非常舒服,及时性很高哦。设置完点击OK即可:

Ros端口转发及完美回流,配合DDNS,简直无孔不入!!!----下篇

我们一直在强调跟拨号捆绑,但是以上做的设置都是为捆绑做准备,那好,接下来我们把它们捆绑起来,点击左侧菜单栏,点击Interfaces

Ros端口转发及完美回流,配合DDNS,简直无孔不入!!!----下篇

进入界面后我们选择上菜单栏的Interface,然后找到我们的拨号条目,不清楚如何拨号的新手朋友可以去看一下我篇二的内容,接着双击进入,在上菜单栏找到Dial Out,接着在下面的Profile选项选择我们刚刚建立的pppoe-clien-profile,然后其他选项不动,点击OK:

Ros端口转发及完美回流,配合DDNS,简直无孔不入!!!----下篇

好了,到这里我们的jump指令设置(实现回流),以及捆绑拨号(实现自动、高效且及时的检索变动IP)已经完成了,接下来就是做端口转发啦!!!

我们后续所有的端口转发都在nat下设置,点击IP-Firewall

Ros端口转发及完美回流,配合DDNS,简直无孔不入!!!----下篇

点击nat,再点击加号,在弹出来的页面点击GeneralChain选择刚才我们设置jump时的命名,我之前命名为port-nat,选择它,Protocl选tcp(常用类型tcp与udp,视你转发的目的为准),Dst。Port输入你外网自定义的端口号,你输入啥你访问的时候域名后就加啥,举例,我这里写5000,那么访问群晖WEB的时候就是www.gxvivo.cn:5000:

Ros端口转发及完美回流,配合DDNS,简直无孔不入!!!----下篇

接着我们点击上菜单栏Action,在下面的Action选择dst-nat,然后在下面To Addresses输入你将要转发项目的内网IP,我的群晖IP是10.10.10.10.,所以把它填进去,根据你的具体情况来填写,To Port输入你要映射的内网端口,这里的端口可不能乱写,要根据你将要转发的项目规定的端口来填写,群晖WEB的端口是5000,window系统的远程访问端口是3389等等,这些都是项目规定好的端口,这里要注意哦,最后点击OK:

Ros端口转发及完美回流,配合DDNS,简直无孔不入!!!----下篇

好了,群晖WEB5000端口转发到外网5000端口就做好啦,你就可以通过域名:5000 ,在外网访问你的群晖啦,同时,回流也完美设置,你在内网同样可以通过域名:5000来访问哦(在内网还用啥域名访问。。。可是有些朋友就是有强迫症哈,不知道你是不是,反正我是。。。)

怕新手朋友看得有写晕,我这里再举一个端口转发win10的设置

Ros端口转发及完美回流,配合DDNS,简直无孔不入!!!----下篇

Ros端口转发及完美回流,配合DDNS,简直无孔不入!!!----下篇

我win10做下载机,经常需要在公司远程连接,进行下载任务,所以外网访问我内网虚拟机搭建的win10很重要哦,win10内网IP为10.10.10.50,外网自定义端口设置为45678,内网远程访问端口为3389。


标签: none

非特殊说明,本博所有文章均为博主原创。

评论啦~



已有 2 条评论


  1. wasser
    wasser

    佩服,搞的太复杂了,目的就是获取路由器公网地址,ip--cloud 即可。或者直接用ros跑ddns脚本绑定域名也行。

    回复 2024-02-27 12:52
  2. 阿拉
    阿拉

    做NAT时候, 教程中没有说明 comment="dynamic_nat" 是否需要补充.否则脚本会找不到需要修改的条目.

    回复 2023-07-17 18:01