- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
版本 S1.2
MikroTik Script 教程
该手册是提供对 MikroTik RouterOS 嵌入式脚本介绍,主机脚本提供了自动维护路由器任务的功能,通
过借助用户自定义发生事件脚本。对于 RouterOS 的脚本操作,需要读者有一定的编程知识,而且对
RouterOS 各个功能熟悉和掌握。
内容如有更新,恕不通知。
第一章 RouterOS 脚本基本操作
在 RouterOS 中一个脚本配置构成由控制命令和表达式(ICE - internal console expression 内部
控制台表达式)。
RouterOS 操作命令,例如:/ip firewall filter add chain=forward protocol=gre action=drop 这
个是描述在防火墙中过滤 gre 协议的操作,即通过 “/”来达到命令执行的目的。在脚本 ICE 表达式前缀
需要用 “ : ”并能在任何目录路径下操作。
一个事件(event)用来触发脚本执行,在RouterOS 下包括:System Scheduler, Traffic Monitoring
Tool, Netwatch Tool 。
功能包需求: system
操作路径: /system script
注:RouterOS2.9 本版与 RouterOS 3.0 的脚本有一定的区别:
1、RouterOS3.0 字符参数后需要使用引号注明
如 comment=”test”;name=”pppoe-out1”;:set i $”tx-current”
2、RouterOS3.0 的变量定义不支持“中横杠”的定义
如 :global test-address 这样定义在 3.0 和 4.0 中是非法的
脚本在 RouterOS 中的调用
操作路径:/system script
脚本编写进入 script 目录下,在script 中我们可以定义多条脚本规则,如下图:
我通过 script 编辑器编辑脚本:
我们可以通过 Run Script 命令运行当前的脚本,在 Run Count 中会纪录脚本运行的次数:
在 Script 中我们编辑好脚本后,我们可以通过 RouterOS 相应的功能调用脚本,并执行这些脚本,如
/system scheduler (计划任务)、/tool 中的 netwatch、traffic-monitor 等。通常执行脚本在 scheduler
计划任务中最常用,如这里我们使用了 ADSL 脚本,需要每间隔 1 分钟执行一次,我们可以通过 scheduler
来完成,通过/system scheduler 进入计划任务目录:
添加一个名称为 adsl 的计划任务规则,设置 Interval 时间 1 分钟,On Event 中添加脚本名称:
注:我们也可以在 on event 中直接输入脚本的命令:
第二章 RouterOS 脚本语法
RouterOS 脚本被划分为多个命令行,命令行是一个接一个单元执行直到脚本结束或者直到 错误发生。
命令行结构
RouterOS 控制台是使用下面的命令语法:
[前缀] [路径] 命令 [未命名参数] [参数=[值]] .. [参数=[值]]
• [前缀] – 如果命令是 ICE 或者路径通过: 或者 / 字符表示
• [路径] – 得到操作菜单的路径
• 命令 – 一个命令获取在指定的菜单路径下
• [未命名参数] – 即事先定义参数,如果命令需要必须指定该参数
• [参数] – 按先后顺序各自定义值
命令行结束以 “;”标识为代表或者换行,在结束命令行有时不需要 “;”或者换行
独立的命令包含 (), [] 或者 {}不需要任何的结尾命令字符,命令结尾取决于脚本的内容
:if ( true ) do={ :put lala }
每条命令行包含其他命令行,起始通过方括号定义[ ]
:put [/ip route get [find gateway=]];
注意,上面这条代码包含 3 条命令行:
• :put
• /ip route get
• find gateway=
命令行能通过多余一个行的方式建立,可以查看后面的行连接规则. 几种常见的命令实例
• Prefix (前缀) - 指示那一个命令到一个 ICE,如:脚本:put 或者命令部分从根目录下执行
您可能关注的文档
最近下载
- 成人流行性感冒诊疗规范急诊专家共识(2024版).pptx
- 《网络协议分析与设计》课程教学大纲.docx VIP
- 2024年党员领导干部民主生活会个人对照检查材料3篇范文.docx VIP
- 日常生活英语单词分类汇总大全.doc
- 《篮球培训班学员综合水平评定表》.docx VIP
- 带你听懂中国传统音乐 智慧树 知到答案.docx VIP
- 2025年中国科教玩具行业市场前瞻与投资战略规划分析报告.docx
- Unit4+Journey+across+a+vast+land单元话题写作讲义 高中英语人教版(2019)选择性必修第二册.docx VIP
- 现代特拉卡自动变速器.ppt
- 大学返回高中宣讲.pptx
文档评论(0)