欢迎光临散文网 会员登陆 & 注册

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

2022-08-02 15:09 作者:狐狸Nomad  | 我要投稿

0.前景提要

本篇教程分为以下内容:

  1. 定时器和脚本初始化

  2. 完善系统更新脚本

  3. 系统邮件通知

在上一篇教程《 [ 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 个,分别为:

  1. 定时触发系统日志邮件脚本

  2. 定时触发系统资源邮件脚本

  3. 定时触发系统自动更新脚本

  4. 定时断开 PPPoE 连接

  5. 定时重连 PPPoE 连接

RouterOS 的脚本将会创建 3 个,分别为:

  1. 系统日志邮件脚本

  2. 系统资源邮件脚本

  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 相关内容,值得期待。

下期见。


[ RouterOS 折腾手记 ] 5.系统自动化及邮件脚本的评论 (共 条)

分享到微博请遵守国家法律