ROS6.36里的Raw介绍

操作路径:

/ip firewall raw

Raw 是 RouterOS v6.36 新增的功能属性, firewall Raw 列表允许选择性在 connection tracking 之前绕过或者丢弃数据包,这样能大大降低 CPU 负载。该功能非常有助于防御 DOS 攻击, RAW 列表不能匹配链接状态的跟踪,例如 connection-state 和 L7 协议。

如下图, Raw 出现在 Prerouting 和 output 链表,并在 connection-tracking 前执行:

Raw 目的是对指定的 IP 访问可以不经过连接跟踪( connection-tracking),有助于减少 CPU 的开销,但对于私有网络做 nat 转换来说, connection-tracking 是必须的,那 Raw 又如何在实际网络应用中发挥作用。例如我们遭到 DDoS 攻击,我们可以通过 Raw 规则关闭掉攻击源 IP 的连接跟踪,使其不再 RouterOS 本地建立连接会话,不予响应,减小 CPU 开销。
在 Raw 中有两个链表,分别是 prerouting 和 output:
• prerouting – 用于处理任何进入路由器的数据包
• output – 用于处理数据包源于路由器,并通过其中一个接口离开,即由路由器自身发出的数据包
例如:我们遭到 11.22.33.4 的 IP 通过 syn 的 DDoS 攻击,我们可以拒绝对该 IP 做链接跟踪,减少 CPU 开销

1
2
[rosjb@MikroTik] >/ip firewall raw
[rosjb@MikroTik] /ip firewall raw>add chain=prerouting src-address=11.22.33.4 action=notrack

另一种情况, 如较大的网络环境,涉及内网和外网请求,在访问外网时需要做 nat 转换,而内网则不需要,因此流量和会话增加的情况下,避免 CPU 负载过高,可以通过 Raw 关闭掉访问内网的连接跟踪。
例如,在一个大型网络,内网 IP 地址段是 192.168.0.0/16,关闭掉内网的连接跟踪,配置如下:

1
2
[rosjb@MikroTik] >/ip firewall raw
[rosjb@MikroTik] /ip firewall raw>add chain=prerouting dst-address=192.168.0.0/16 action=notrack

这样配置后,我们在 connection-tracking 列表将不会看到内网访问 192.168.0.0/16 的连接会话条目