[ RouterOS 折腾手记 ] 5.系统自动化及邮件脚本

0.前景提要
本篇教程分为以下内容:
定时器和脚本初始化
完善系统更新脚本
系统邮件通知
在上一篇教程《 [ RouterOS 折腾手记 ] 4.系统参数调整 》中,我们对系统的服务、NTP、系统账户等内容进行了一些调整。
接下来我们使用 RouterOS 的定时器以及脚本功能实现一些自动化操作。
在正式开始之前需要做一些准备工作:
对于使用 CHR 版本 RouterOS 的软路由,自动更新脚本请查阅 Fox_ROS_CHR_Sys_Upgrade_Worker.conf
对于使用 Mikrotik 原生 RouterOS 的硬路由,自动更新脚本请查阅 Fox_ROS_Native_Sys_Upgrade_Worker.conf
使用系统发送邮件功能,需要准备一个邮箱并开启
SMTP
服务,推荐使用QQ邮箱或163邮箱系统日志邮件脚本,请查阅 Fox_ROS_Email_Log_Worker.conf
系统资源邮件脚本,请查阅 Fox_ROS_Email_Res_Worker.conf
详细代码请查阅我 Gitee 上的同步更新仓库,
RouterOS_Toss_Notes: RouterOS路由器的安装以及折腾手记。 (gitee.com)
1.定时器和脚本初始化
定时器和脚本配置较为复杂,所以推荐使用 SSH 工具在 RouterOS 的命令行环境下进行配置。
在前篇文章中,我们不仅新建了一个系统管理员账号,同时在修改系统参数过程中对 SSH 服务进行过调整。
如果修改过 SSH 服务的端口,在使用 ssh
命令登录 RouterOS 时,需要带上端口号。
使用 新的 系统管理员账户进行登录:
RouterOS 的定时器将会创建 5 个,分别为:
定时触发系统日志邮件脚本
定时触发系统资源邮件脚本
定时触发系统自动更新脚本
定时断开 PPPoE 连接
定时重连 PPPoE 连接
RouterOS 的脚本将会创建 3 个,分别为:
系统日志邮件脚本
系统资源邮件脚本
系统自动更新脚本
在 RouterOS 的命令行环境下,将以下命令一次性全部粘贴到终端工具中即可初始化定时器和脚本:
如果这段代码不好复制,请查阅我 Gitee 上的同步更新仓库,
访问文件 src / Fox_ROS_Schedule_Script.conf 进行复制。
其中 interval
参数为定时器执行周期,start-time
参数为每天的触发时刻,各脚本时间设置汇总如下:

命令执行完毕后,打开 Winbox ,点击左侧导航 System
菜单的子菜单 Scheduler
,可以看到已有 5 个定时器:

如果需要禁用某个定时器,使用鼠标 单击 选中定时器,点击 Disable
按钮进行禁用:

2.完善系统更新脚本
点击 Winbox 左侧导航 System
菜单的子菜单 Scripts
,可以看到已有 3 个脚本:

但脚本条目均为红色,因为之前的命令只设置了脚本的基本参数,还未添加脚本具体内容。
根据所使用的 RouterOS 版本不同,从给 CHR 软路由用的 Fox_ROS_CHR_Sys_Upgrade_Worker.conf 和给原生硬件用的 Fox_ROS_Native_Sys_Upgrade_Worker.conf 两个更新脚本中选择一个,并复制其内容。
鼠标 双击 系统自动更新脚本 sys_upgrade_worker
,进入脚本配置界面,在 Source
处粘贴脚本内容:

脚本粘贴完成后, sys_upgrade_worker
脚本将转变为正常状态:

3.系统邮件通知
3.1.准备发信邮箱
RouterOS 支持使用 SMTP
协议进行邮件发送,推荐使用国内的QQ邮箱或163邮箱。
需要说明的是,这里使用邮箱主要在发送 系统日志信息 和 系统资源信息 ,如果无需邮件发送功能,可以跳过本段内容。
本文以163邮箱作为演示,登录163邮箱后,点击顶部 设置
菜单的子菜单 POP3/SMTP/IMAP
:

点击 POP3/SMTP服务
右侧的 开启
按钮:

根据提示信息进行安全认证之后,就能拿到一个第三方客户端的 授权密码 ,该密码只出现一次,因此需要将密码复制出来并保存。
使用设备
处填写一个备注,以便后续区分:

然后找到 SMTP
服务器地址 smtp.163.com
,并记录下 SSL
端口号 465
:

3.2.设置 RouterOS 邮件服务
回到 Winbox,点击左侧导航 Tools
菜单的子菜单 Email
,对邮件服务进行设置:

参考表格中的内容填写相关参数,From
和 User
均为刚开启了 SMTP
服务的邮箱地址,Password
为刚获取的授权密码,设置完成后点击 OK
按钮:

3.3.完善系统日志邮件脚本
复制 Fox_ROS_Email_Log_Worker.conf 中的脚本内容,并使用文本编辑器工具对脚本中有关 邮箱部分 内容进行修改:
注意:
Windows 环境下的一些文本编辑工具会在编辑文本时增加额外“空格”,并修改“换行符”。
推荐使用 Notepad3 、Visual Studio Code 这类代码编辑器。
点击 Winbox 左侧导航 System
菜单的子菜单 Scripts
,鼠标 双击 系统日志邮件脚本 email_log_worker
。
进入脚本配置界面后,在 Source
处粘贴脚本内容:

3.4.完善系统资源邮件脚本
复制 Fox_ROS_Email_Res_Worker.conf 中的脚本内容,和 系统日志邮件脚本 一样,需要修改 邮箱部分 内容。
如果实际网络环境中没有使用 PPPoE 拨号,则需要额外修改有关 外网接口部分 内容:
鼠标 双击 系统资源邮件脚本 email_res_worker
,进入脚本配置界面,在 Source
处粘贴脚本内容:

设置完成后,如果之前禁用了两个系统邮件脚本的定时器,现在可以重新将其启用。
点击 Winbox 左侧导航 System
菜单的子菜单 Scheduler
,使用鼠标 单击 选中定时器,点击 Enable
按钮进行启用:

至此 RouterOS 的自动化相关设置已经完成,系统会定时自动升级,并将系统的日志、资源信息发送给指定的邮箱。
结合 PVE 的周期性重启及备份策略,保证了路由器系统的健康运行。
不过目前使用的是 IPv4 网络,RouterOS 的 IPv6 功能也不够完善,等待日后更新。
根据官网信息,RouterOS 会在未来版本中加入 container
相关内容,值得期待。
下期见。