第三十七章 RouterOS 工具

来自深圳捷联讯通科技有限公司
跳转至: 导航搜索

37.1 Netwatch 监控

Netwatch 工具通过 ping 监控网络中的主机,并能通过状态的改变产生定义的事件。

规格
需要功能包: advanced-tools
等级: Level1
操作路径: /tool netwatch

Netwatch 监控的是在网络上的主机状态。 通过在列表中指定 IP 地址,并发送间隔的 ICMP 的 ping 探测和执 行控制脚本。在主机状态改变时根据 netwatch 的情况下命令

属性描述
37-1.png


警告:从 RouterOS v6.42 Netwatch 被限制为 read,write,test,reboot 脚本策略,如果登录账号脚本权限不够,这时脚本无法执行。如果脚本的策略大于 read,write,test,reboot,脚本也不会被执行,请确保你的脚本不会超过上述策略。
如果权限问题,可在/system scripts 菜单下禁用 RouterOS 脚本的权限检查,当 Netwatch 没有足够的权限执行脚本时,可使用这种方法,但会降低整体安全性,因此建议为脚本分配适当的权限,提高安全性。
事例

这个事例将运行脚本 gw_1 或 gw_2 根据网关的状态来修改默认网关:

[admin@MikroTik] system script> add name=gw_1 source="/ip route set [find dst-address 0.0.0.0] gateway=10.0.0.1"
[admin@MikroTik] system script> add name=gw_2 source="/ip route set [find dst-address 0.0.0.0] gateway=10.0.0.217"
[admin@MikroTik] system script> /tool netwatch
[admin@MikroTik] tool netwatch> add host=10.0.0.217 interval=10s timeout=800ms up-script=gw_2 down-script=gw_1
[admin@MikroTik] tool netwatch> print
Flags: X - disabled
# HOST TIMEOUT INTERVAL STATUS
0 10.0.0.217 997ms 10s up
[admin@MikroTik] tool netwatch> print detail
Flags: X - disabled
0 host=10.0.0.217 timeout=997ms interval=10s since=feb/27/2003 14:01:03
status=up up-script=gw_2 down-script=gw_1
[admin@MikroTik] tool netwatch>
让我们来看上面的例子,如果当前默认网关变为无法到达,就改变默认路由。有两个脚本,当主机状态改变为up 脚本"gw_2"执行一次。在这个事例中,相当于进入控制台执行下面的命令:
[admin@MikroTik] > /ip route set [/ip route find dst 0.0.0.0] gateway 10.0.0.217
/ip route find dst 0.0.0.0 命令是返回在路由表中 dst-address 值为 0.0.0.0 的参数,通常这种值确认为默认路由条目。
当主机状态改变为 down 脚本"gw_1"执行一次。如下面:
[admin@MikroTik] > /ip route set [/ip route find dst 0.0.0.0] gateway 10.0.0.1
如果 10.0.0.217 地址无法到达,改变默认网关。
下面是另一个事例,无论什么时候 10.0.0.215 主机断线,发送 e-mail 通知到你指定的邮箱:
[admin@MikroTik] system script> add name=e-down source=“/tool e-mail send from="rieks@mt.lv" server="159.148.147.198" body="Router down" subject="Router at second floor is down" to=“rieks@latnet.lv“ ”
[admin@MikroTik]
[admin@MikroTik] system script> add name=e-up source=”/tool e-mail send from="rieks@mt.lv" server="159.148.147.198" body="Router up" subject="Router at second floor is up" to=”rieks@latnet.lv“ “
[admin@MikroTik] system script>
[admin@MikroTik] system script> /tool netwatch
[admin@MikroTik] system netwatch> add host=10.0.0.215 timeout=999ms \ \... interval=20s up-script=e-up down-script=e-down
[admin@MikroTik] tool netwatch> print detail
Flags: X - disabled
0 host=10.0.0.215 timeout=998ms interval=20s since=feb/27/2003 14:15:36
status=up up-script=e-up down-script=e-down
[admin@MikroTik] tool netwatch>
查看会话连接
[admin@MikroTik] tool> bandwidth-server session print
# CLIENT PROTOCOL DIRECTION USER
0 35.35.35.1 udp send admin
1 25.25.25.1 udp send admin
2 36.36.36.1 udp send admin 
[admin@MikroTik] tool>
开启没有客户端的 bandwidth-test 服务器
[admin@MikroTik] tool bandwidth-server> set enabled=yes authenticate=no
[admin@MikroTik] tool bandwidth-server> print
                   enabled: yes
              authenticate: no
   allocate-udp-ports-from: 2000
              max-sessions: 10
[admin@MikroTik] tool>
Client 配置
操作路径: /tool bandwidth-test

37.2 绘图显示(Graphing)

Graphing 是 RouterOS 内置的一个简单图形化监管工具,用于 RouterOS 在一段时期内的接口流量,系统状态等情况,类似于 cacti 和 zabbix 一类的图像记录工具。
需要功能包: system,
等级需要: Level1
操作路径: /tool graphing
Graphing 工具可以显示的图形为:
 Routerboard 健康状态 (电压和温度) 
资源使用 (CPU, 内存和硬盘使用 Disk usage)
 通过 Interfaces 的传输情况
 simple queues 中的传输情况
Graphing 由两部分构成- 第一部分是收集数据信息,另一部分在一个 Web page 中显示数据访问图形的地址为http://[Router_IP_address]/graphs/ 或是通过浏览 RouterOS 的默认网页进入。
在路由器中数据收集每间隔 5 分钟,但保存到系统驱动中是每隔一个 store-every 时间,当重起路由后,显示的信息在重起前为最后一次存储到磁盘中的数据。
RouterOS 每一个项目产生四种图示 generates four graphics for each item:
 "Daily" Graph (5 Minute Average)
 "Weekly" Graph (30 Minute Average)
 "Monthly" Graph (2 Hour Average)
 "Yearly" Graph (1 Day Average)
从一个网络去访问每个图形,可以通过 allow-address 指定这个网络的访问项目。
操作路径: /tool graphing
属性描述
store-every (5min | hour | 24hours; 默认: 5min) – 多长时间将信息存储到系统驱动上。
存储信息到系统驱动上为每小时
/tool graphing set store-every=hour
[admin@MikroTik] tool graphing> print
store-every: hour
[admin@MikroTik] tool graphing>
健康情况
操作路径: /tool graphing health
这个子项目提供关于 RouterBoard 的电压和温度的信息,但你必须安装 routerboard 功能包和使用RouterBoard:
属性描述
allow-address (IP 地址/子网; 默认: 0.0.0.0/0) –设置允许访问图形的 IP 地址段,默认通过打开http://[Router_IP_address]/graphs/
store-on-disk (yes | no; 默认: yes) – 是否将信息存储到系统存储上,如果选择为’no’ ,这些信息将存储到 RAM 中,重启后回丢失
接口流量图
操作路径: /tool graphing interface
显示有多少流量传输在一段时期内通过了一个 interface
属性描述
allow-address (IP 地址/子网; 默认: 0.0.0.0/0) –设置允许访问图形的 IP 地址段,默认通过打开http://[Router_IP_address]/graphs/
interface (名称; 默认: all) – interface 的名称
store-on-disk (yes | no; 默认: yes) -是否将信息存储到系统存储上,如果选择为’no’ ,这些信息将存储到 RAM 中,重启后回丢失
仅 192.168.0.0/24 的网段监视通过 ether1 的传输情况,并将信息写入到磁盘中:
[admin@MikroTik] tool graphing interface> add interface=ether1 allow-address=192.168.0.0/24 store-on-disk=yes
[admin@MikroTik] tool graphing interface> print
Flags: X - disabled
  1. INTERFACE ALLOW-ADDRESS STORE-ON-DISK
0 ether1 192.168.0.0/24 yes
[admin@MikroTik] tool graphing interface>
流控图显示
操作路径: /tool graphing queue
在这个子选项中可以指定一个队列/queue simple 到图形显示中去。
属性描述
allow-address (IP 地址/子网; 默认: 0.0.0.0/0) -设置允许访问图形的 IP 地址段,默认通过打开http://[Router_IP_address]/graphs/allow-target (yes | no; 默认: yes) – 允许在/queue :simple target-address 中那些 IP 段访问 graphing websimple-queue (名称; 默认: all) – 要监测 的 simple queue 名称
store-on-disk (yes | no; 默认: yes) - 否将信息存储到系统存储上,如果选择为’no’ ,这些信息将存储到 RAM中,重启后回丢失
添加一个 simple queue 到图形列表,simple-queue 名称为 queue1,限制访问网段,并存储相关信息到磁盘中:
[admin@MikroTik] tool graphing queue> add simple-queue=queue1 allow-address=192.168.0.0/24 store-on-disk=yes
资源图表
操作路径: /tool graphing resource
提供路由器在一段时期内资源使用情况:
 CPU usage
 Memory usage
 Disk usage
属性描述
allow-address (IP 地址/子网; 默认: 0.0.0.0/0) -设置允许访问图形的 IP 地址段,默认通过打开http://[Router_IP_address]/graphs/store-on-disk (yes | no; 默认: yes) -否将信息存储到系统存储上,如果选择为’no’ ,这些信息将存储到RAM 中,重启后回丢失
添加允许监视者的 IP 地址段为 192.168.0.0/24 :
[admin@MikroTik] tool graphing resource> add allow-address=192.168.0.0/24 store-on-disk=yes
[admin@MikroTik] tool graphing resource> print
Flags: X - disabled
  1. ALLOW-ADDRESS STORE-ON-DISK
0 192.168.0.0/24 yes
[admin@MikroTik] tool graphing resource>
我们可以通过 IP 地址登录 RouterOS 的 web 页面选择 Graphs 进入图形页面
37-2.png
我们可以选择一张网卡,查看流量统计
37-3.png

37.3 Bandwidth-text 带宽测试

带宽测试用于监测远程 MikroTik 路由器的吞吐量(有线或无线),从而去发现网络传输瓶颈。
协议属性
TCP 测试使用 TCP 协议标准,根据 TCP 算法得出有多少包延迟,被丢弃和其他 TCP 算法特性。关于内部速度设定和状态分析请查看 TCP 协议。吞吐量的统计是用来计算整个 TCP 数据流的大小。TCP 内部连接的大小和使用没有包含在吞吐量的统计中。因此当在测算吞吐量时,这个统计并不像 UDP 协议一样可靠。
UDP 测试发送的数据报的数量是接收方当前所收到包的数量的 110%或更多。要得到连接的最大吞吐量,数据报要设置最大 MTU 为 1500 字节。这并不是 UDP 协议标准所要求的。 通过这样设置,便可以得到近似最大吞吐量。
:Bandwidth Test 会使用所有可获得的带宽(by default),并做可能冲击网络的使用性。Bandwidth Test 比较占用资源。如果需要测试路由器的真实吞吐量,你应该运行 bandwidth test 通过所测路由器。这样做你需要三台路由器相连:Bandwidth 服务器,测试路由器(Testing Router)和 Bandwidth 客户端:
37-4.png
注:如果用 UDP 协议,那么 Bandwidth Test 所测的数据是 IP header+UDP header+UDP。如果用 TCP 协 议,那么 Bandwidth Test 所测的数据仅为 TCP 数据。(不包含 TCP 数据报头和 IP 数据报头)。
Server 配置
操作路径: /tool bandwidth-server
属性描述
allocate-udp-ports-from – 分配 UDP 端口
authenticate (yes | no; 默认: yes) – 通信要求验证客户端(通过账号和密码)
enable (yes | no; 默认: no) – 为客户端启用连接
max-sessions – bandwidth-test 最大的客户端连接数
Bandwidth 服务器:
[admin@MikroTik] tool bandwidth-server> print
                 enabled: yes
            authenticate: yes
allocate-udp-ports-from: 2000
             max-sessions: 10
[admin@MikroTik] tool>
Client 配置
操作路径: /tool bandwidth-test
属性描述
(IP address) - 目标主机 IP 地址
assume-lost-time (时间; 默认: 0s) – 设定如果 Bandwidth Server 无响应多久后丢弃连接
direction (receive / transmit / both; 默认: receive) - 测试方式
do (名称 | string; 默认: "") - 脚本源代码
duration (时间; 默认: 0s) - 测试时长
0s – 测试时间没有被限制
interval (时间: 20ms..5s; 默认: 1s) – 报告间隔时间(秒钟计算)
local-tx-speed (整型; 默认: 0) – 本地发送最大速率(bits per second)
0 – 没有速率限制
local-udp-tx-size (整型: 40..64000) – 本地 UDP 发送最大数据报
password (文本; 默认: "") – 测试的密码
protocol (udp | tcp; 默认: udp) – 使用的网络协议
random-data (yes | no; 默认: no) – 如果随即数据设置为 yes,Bandwidth 测试数据报的有效载荷,将有不可随机数据流,使连接利用数据压缩,将不会扭曲结果(如果较低性能的 CPU,random-d1ata 应设置为 no)
remote-tx-speed (整型; 默认: 0) – 远程接收测试的最大速率(bits per second)
0 – 没有速率限制
remote-udp-tx-size (整型: 40..64000) – 远程 UDP 发送最大数据报
user (名称; 默认: "") - 远程用户名
在 10.0.0.211 主机上运行 15 秒发送和接收 1000-byte UDP 数据报的带宽测试,用户名为 admin.
[admin@MikroTik] tool> bandwidth-test 10.0.0.211 duration=15s direction=both
\... size=1000 protocol=udp user=admin
status: done testing
duration: 15s
tx-current: 3.62Mbps
tx-10-second-average: 3.87Mbps
tx-total-average: 3.53Mbps
rx-current: 3.33Mbps
rx-10-second-average: 3.68Mbps
rx-total-average: 3.49Mbps
[admin@MikroTik] tool>

37.4 Torch (实时通信监听)

实时通信监听被称为 torch 它是用于监视正在运行的一个接口的网络通信流量情况,你可以监听通过该接口的协议、网络端口、源和目的地址,并可以通过分类监听。该功能有助于管理对接口网络情况的判断和指定 IP、协议和端口的分析。

操作路径: /tool torch 属性描述

(名称) – 用于监视的接口名
dst-address (IP address/netmask) – 目的地址和子网掩码是用来通信,任意的目的地址是: 0.0.0.0/0 .
freeze-frame-interval (时间) - 屏幕输出暂停的立即时间
port (名称 | 整型) – 端口的名
protocol (any | any-ip | ddp | egp | encap | ggp | gre | hmp | icmp | idpr-cmtp | igmp | ipencap | ipip | ipsec-ah | ipsec-esp | iso-tp4 | ospf | pup | rdp | rspf | st | tcp | udp | vmtp | xns-idp | xtp) – 协议名
any - 任何以太网和网络协议
any-ip – 任何网络协议
src-address (IP address/netmask) – 源地址和子网掩码是用来进行通信,所有源地址是: 0.0.0.0/0
注:如果规定了一个特殊的端口,仅有 tcp 和 udp 协议将被过滤, 这就是说协议包含 any any-ip tcp udp.除了上行和下行,