如何配置MikroTik RouterOS网桥使其仅转发流量,不传递至本地IP协议栈?
我之前在部署多租户MikroTik cAP的时候,也遇到过一模一样的问题——明明租户网桥没配IP,却还是能在IP连接列表里看到租户的广播流量,当时也担心这会增大攻击面。后来摸索出几个关键的配置步骤,能彻底让网桥只做纯转发,完全不把流量递到本地IP协议栈:
彻底清空租户网桥的IP配置
你已经做到了不给租户网桥配IP,但一定要再确认一遍IPv4和IPv6的地址列表,确保没有遗漏的配置。可以用这两个命令检查:/ip address print /ipv6 address print要保证所有租户网桥的条目都不在列表里,连临时的自动获取地址也要清理干净。
禁用MAC Server相关服务
RouterOS的MAC Server服务(包括Telnet的MAC服务)即使在接口没有IP的情况下,也会响应ARP广播请求,这就是你能看到租户广播流量进入IP连接列表的原因之一。直接全局禁用这两个服务:/ip service set mac-server disabled=yes /ip service set mac-server-telnet disabled=yes这样系统就不会再处理来自租户网络的ARP请求了。
用Raw防火墙规则拦截发往本地栈的流量
这一步是最关键的保险措施——直接在Raw表的 prerouting 链里,把所有来自租户网桥、目标是本地系统的流量全部丢弃,从根源上阻止它们进入本地IP协议栈。针对每个租户网桥添加一条规则:/ip firewall raw add action=drop chain=prerouting in-interface=租户网桥1名称 dst-type=local /ip firewall raw add action=drop chain=prerouting in-interface=租户网桥2名称 dst-type=localRaw表的规则是最先被执行的,所以这些流量会在到达IP协议栈之前就被丢弃,完全不会被系统处理。
禁用不必要的IPv6服务(可选)
如果你不用IPv6,建议直接全局禁用所有IPv6相关的服务和自动配置,避免IPv6的广播流量触发本地栈:/ipv6 service set all disabled=yes /ipv6 settings set accept-router-advertisements=no
做完这些配置后,你再去看/ip firewall connection print,应该就看不到租户的广播流量了——网桥会老老实实地只做二层转发,完全不碰本地的IP协议栈,攻击面也就降到最低了。
备注:内容来源于stack exchange,提问作者user149408

