Firewall
MikroTik RouterOS 防火墙提供有状态与无状态数据包过滤、NAT 与高级流量分类,用于保护网络数据流并阻止未授权访问。它包括 filter/raw、mangle 与 nat。
防火墙

防火墙通过连接跟踪实现有状态数据包过滤,并可执行无状态过滤,从而提供用于管理进出路由器及穿过路由器数据流的安全功能。结合网络地址转换(NAT),它可用于阻止对直连网络和路由器本身的未授权访问,同时过滤出站流量。
网络防火墙可阻止外部威胁接触网络内部的敏感数据。当不同网络互联时,外部人员入侵 LAN 的风险始终存在。此类入侵可能导致私有数据被窃取和传播、重要数据被篡改或破坏,甚至整个硬盘被擦除。防火墙用于防止或降低连接其他网络所固有的安全风险。正确配置的防火墙是高效、安全网络基础设施部署的关键。
MikroTik RouterOS 拥有非常强大的防火墙实现,功能包括:
- 无状态数据包检查。
- 有状态数据包检查。
- 七层协议检测。
- 点对点协议过滤。
- 按以下条件进行流量分类:
- 源 MAC 地址。
- IP 地址(网络或列表)与地址类型(广播、本地、组播、单播)。
- 端口或端口范围。
- IP 协议。
- 协议选项(ICMP 类型与代码字段、TCP 标志、IP 选项与 MSS)。
- 数据包进入或离开的接口。
- 内部流与连接标记。
- DSCP 字节。
- 数据包内容。
- 数据包到达速率与序列号。
- 数据包大小。
- 数据包到达时间。
以及更多功能!
防火墙分为三个主要模块:
- filter/raw:用于根据配置策略拒绝流量。在 RAW 表中过滤可在不需要连接跟踪时节省资源。
- mangle:用于标记特定连接、数据包、流,设置优先级以及执行其他任务。
- nat:用于设置地址转换规则、重定向与端口转发。
链
防火墙过滤规则按链分组。这样可以让数据包在一个链中按某个共同条件匹配,然后传递到另一个链按其他共同条件处理。
例如,数据包需要按 IP 地址:端口对进行匹配。当然,可以在 forward 链中添加任意多条 IP 地址:端口匹配规则,但更好的方式是添加一条匹配特定源 IP 地址流量的规则。然后,可将针对各个端口进行匹配的规则添加到 "mychain" 链中,无需重复指定 IP 地址。
/ip/firewall/filter
add chain=mychain protocol=tcp dst-port=22 action=accept
add chain=mychain protocol=tcp dst-port=23 action=accept
add action=jump chain=input src-address=1.1.1.2/32 jump-target="mychain"
处理链时,规则会按从上到下的顺序从链中取出。如果数据包匹配某条规则的条件,则对其执行指定动作,并且不再处理该链中的后续规则(passthrough 动作及部分 Mangle 动作例外)。
如果数据包未匹配链中的任何规则,则会被接受。
每个防火墙模块都有各自的预定义链:
- raw:
- prerouting
- output
- filter:
- input
- forward
- output
- mangle:
- prerouting
- input
- forward
- output
- postrouting
- nat:
- srcnat
- dstnat
- input
- output
RouterOS 中更详细的数据包处理流程请参阅 RouterOS 数据包流 图。