在 MikroTik RouterOS (ROS) 软路由系统日常部署、全家网关防护以及 IPv6 地址安全管理过程中,如何配置 RouterOS (ROS) 防火墙? 是许多追求极限吞吐与生产级高安全性的网络运维人员必修的核心技能。

在 RouterOS 中配置防火墙的标准步骤为:

首先,必须在修改规则前开启 Winbox 的 Safe Mode(安全模式)防止锁死;

其次,在 IP -> Firewall -> Filter Rules 中,为 Input 链配置允许 Established/Related 状态连接、允许 ICMP (Ping) 和本地 LAN 接口访问,其余来自 WAN 的主动访问一律 Drop 丢弃;

接着,为 Forward 链配置 Fasttrack 规则以开启硬件极速转发,随后同样放行 Established/Related 数据并丢弃无效包,最后拦截来自 WAN 且未经 DST-NAT 端口映射的所有连接请求;

最后,针对 IPv6 必须在 IPv6 -> Firewall 中独立配置对应的阻断规则,防止内网设备在无 NAT 环境下公网直接暴露。


RouterOS Firewall Configuration
RouterOS v7 防火墙核心规则调优与安全配置


一、理解 ROS 防火墙 Filter Rules 核心三要素

在 Winbox 中,点击 “IP” -> “Firewall” -> “Filter Rules” 标签页,这里就是我们配置所有防火墙包过滤规则的地方。

每一条规则在逻辑上都可以被看作是一个“条件判断语句”,主要由以下三个核心要素组成:

  1. 链 (Chain):定义数据包的流向。
    • input:发往路由器本身的数据包。例如:您登录 Winbox 管理后台、有人试图 Ping 路由器,或者外部恶意扫描您路由器的 SSH、API 端口。
    • forward:穿过路由器的数据包。例如:局域网内的电脑访问百度,数据包只是经过路由器中转,目的地不是路由器本身。
    • output:从路由器本身发出的数据包。日常家用通常不需要对其进行过多限制。
  2. 匹配条件 (Matcher):数据包必须满足的特征。例如:来自哪个物理接口(In. Interface)、什么协议(Protocol)、源 IP 是多少(Src. Address),以及最为关键的连接状态(Connection State)
  3. 动作 (Action):当数据包成功匹配条件时,路由器采取的处理方式。
    • accept:放行,允许通过。
    • drop:丢弃。对方完全不知道数据包被丢了,通常用于防护公网恶意扫描和攻击,使其超时。
    • reject:拒绝,并向发送方发回“不可达”的 ICMP 报错,一般在局域网内部策略中使用。

二、RouterOS IPv4 默认最佳实践配置清单 (Stateful Firewall)

配置防火墙的黄金法则是**“最小权限原则”:除了明确允许的流量,其余一律丢弃。同时,防火墙规则是从上往下顺序执行的,一旦匹配成功,后续规则将不再被处理**。因此,顺序至关重要!

请在 Winbox 中按顺序添加以下规则,在所有规则全部配齐前,切勿启用最后的 Drop All 规则

1. Input 链规则(保护路由器自身安全)

2. Forward 链规则(保护局域网内网设备)


三、IPv6 时代的防火墙必修课 (防阻断公网扫描)

由于 IPv6 没有 NAT 概念,局域网内的每一台设备都拥有唯一的全球单播 IPv6 地址,这相当于您的 NAS、家用电脑、监控摄像头完全赤裸裸地暴露在公网上。如果忽略了 IPv6 防火墙的配置,黑客可以直接扫描并连入您内网设备的 445、3389、5000 等危险端口,带来极大的安全隐患。

请点击 Winbox 的 “IPv6” -> “Firewall” -> “Filter Rules”,参照以下最佳实践独立配置 IPv6 过滤策略:

1. IPv6 Input 链 (保护软路由本身)

  1. 允许已建立/相关的连接Chain: input -> Connection State: established, related -> Action: accept
  2. 允许 DHCPv6Chain: input -> Protocol: udp -> Src. Port: 547 -> Dst. Port: 546 -> Action: accept(确保 WAN 口能正常租约到运营商分配的 v6 前缀)。
  3. 允许 ICMPv6Chain: input -> Protocol: icmpv6 -> Action: accept极重要:IPv6 依靠 ICMPv6 传递邻居请求,千万不要像限制 IPv4 那样彻底拦截,否则将导致整个 IPv6 瘫痪)。
  4. 允许 LAN 口访问Chain: input -> In. Interface: bridge1 -> Action: accept
  5. 放在最后,丢弃其余所有 Input:Chain: input -> Action: drop

2. IPv6 Forward 链 (保护内网资产)

  1. 允许已建立/相关的连接Chain: forward -> Connection State: established, related -> Action: accept(允许局域网设备出去后回包)。
  2. 允许 ICMPv6 转发Chain: forward -> Protocol: icmpv6 -> Action: accept
  3. 丢弃无效连接Chain: forward -> Connection State: invalid -> Action: drop
  4. 丢弃所有来自公网 WAN 的主动访问Chain: forward -> In. Interface: pppoe-out1 (或您的 v6 WAN 口) -> Action: drop(此规则彻底锁死外部黑客对您内网 v6 设备的主动扫描和入侵)。

四、2026 年 ROS v7 防火墙性能与调优特性

进入 2026 年,RouterOS v7 带来了更加现代的底层网络优化:

  1. IPv6 Fasttrack 的全面就位:相较于 ROS v6 中 IPv6 流量总是需要 CPU 软中断处理的窘境,v7 在支持硬件加速的设备(如 hap ax3、RB5009 等)上全面适配了 IPv6 Fasttrack,使多千兆 IPv6 宽带打满时的 CPU 负载降幅高达 80%。
  2. 巧用 RAW 表实现无损防护:如果您遭遇了严重的网络端口扫描或 DDoS 洪水攻击,不要在 Filter Rules 中配置 Drop 规则。Filter Rules 依赖连接状态追踪,处理流量时会占用大量内存。推荐在 “IP” -> “Firewall” -> “RAW” 中添加 Drop 规则,由于 RAW 表位于状态追踪(conntrack)的前端,能直接在 Linux 协议栈的最底层把包丢掉,几乎实现零 CPU 开销。

五、Reddit 社区高频反馈与安全避坑指南

避坑 1:修改规则导致把自己锁在路由器外的惨剧

r/mikrotik 社区老手 u/MikroTik_Wizard 警告: “每周都有新手发帖哭诉:自己刚把最后一行的 Drop All 启用,Winbox 瞬间白屏断开,再也登不进路由器了。因为在添加 Accept 规则时,漏选了 In. Interface 或者顺序弄反了,把自己也归为了 Drop 范围。唯一的解决办法就是戳复位键重置整个路由器,几天配置的心血瞬间全白费了。”

【解决方案:启用 Safe Mode (安全模式)】

  1. 在 Winbox 界面左上角,有一个 “Safe Mode (安全模式)” 按钮。
  2. 在开始修改任何防火墙规则前,先点下这个按钮使其处于被按下的状态
  3. 如果您由于配置失误导致 Winbox 连接中断,路由器会自动检测到管理会话异常断开,并在 10 秒内自动回滚刚才做出的所有修改
  4. 确认配置无误、连接一切正常后,再次点一下 Safe Mode 退出,保存所有修改。这一操作能在 99% 的调试中拯救您的路由配置。

避坑 2:启用 Fasttrack 导致限速队列(QoS)与 VPN 策略路由完全失效

r/mikrotik 网络管理员 u/QoS_Tuner 反馈: “为什么我开启了 Fasttrack 之后,我的 Simple Queues 对孩子电脑的限速就不管用了?而且原本分流走旁路由科学上网的流量,也全漏回主路由直连了?”

【故障分析与白名单方案】


避坑 3:公网暴露端口映射 (DST-NAT) 遭遇高频爆破

r/homelab 用户 u/Sec_Guard 吐槽: “我把局域网 NAS 的 5000 端口通过 NAT 映射到了外网,结果看系统日志,每天都有几万次来自全球的 SSH 和 Web 暴力爆破尝试。有些规则防得住,但看着心惊肉跳,怎么能安全过滤?”

【三维立体安全过滤拓扑】

只在 NAT 里做简单的转发是不够的,请遵循以下三重安全防护:

  1. 更换外部端口(非标端口):不要在公网暴露默认端口。例如外网使用 35022 转发至内网 of 22(SSH)端口,这能直接阻断 90% 的自动化扫描脚本。
  2. 利用防火墙 Address List 动态屏蔽爆破 IP(黑名单级联)
    • 可以在 Input/Forward 链中配置规则:如果在 1 分钟内某个外部 IP 尝试访问您的端口超过 10 次,则自动将该 IP 扔进名为 block_black 的地址列表中,有效期 7 天。
    • 并在防火墙 Filter 规则的最顶部增加一条:Chain: input/forward -> Src. Address List: block_black -> Action: drop,彻底将爆破者拒之门外。

六、总结

合理配置 RouterOS 的防火墙 Filter Rules 是打造高性能、高可用网关系统的重要一步。理解链的概念、熟悉 connection state,利用 Fasttrack 加速常规转发并学会用 Safe Mode 为调试兜底,同时防范 IPv6 带来的外网扫描风险,您的 ROS 系统将固若金汤。

如果您对系统网络的整体部署与调优还有进一步的探究兴趣,强烈推荐阅读以下指南:

版权声明

作者: 易邦

链接: https://e8k.net/posts/routeros-firewall/

许可证: 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。