MikroTik RouterOS防火墙配置实战:从入门到攻防

发布于2026-07-23 13:51 阅读18次 本文系统讲解MikroTik RouterOS防火墙的基础配置方法,从默认安全策略到进阶防御规则,涵盖常见攻击防护、端口管理、流量过滤等实战场景,适合网络运维人员参考。
# MikroTik RouterOS防火墙配置实战:从入门到攻防
## 前言
MikroTik RouterOS作为一款功能强大的网络操作系统,其防火墙模块(/ip firewall filter)是保障网络安全的核心组件。很多管理员上手RouterOS时,往往忽略了防火墙的初始配置,导致设备暴露在公网风险之中。本文将从头梳理RouterOS防火墙的基础和进阶配置。
## 一、防火墙基础概念
RouterOS的防火墙基于Netfilter架构,支持三种主要链(Chain):
- **input**:处理发往路由器本身的数据包
- **forward**:处理经过路由器转发的数据包
- **output**:处理由路由器本身发出的数据包
每一条规则按顺序匹配,遇到匹配的规则后执行指定的动作(accept、drop、reject等),后续规则不再检查。
## 二、初始安全配置
拿到一台新的MikroTik设备后,第一件事就是配置防火墙保护路由器自身。以下是一条保命规则:
```
/ip firewall filter
add chain=input connection-state=established,related action=accept comment="允许已建立的连接"
add chain=input connection-state=invalid action=drop comment="丢弃无效连接"
add chain=input protocol=icmp action=accept comment="允许ICMP"
add chain=input src-address=192.168.0.0/24 action=accept comment="允许内网管理"
add chain=input action=drop comment="丢弃其他所有入站"
```
这条规则的核心思想是:先放行已建立连接,再允许内网管理,最后丢弃一切外来访问。
## 三、常见攻击防护
### 3.1 端口扫描防护
```
/ip firewall filter
add chain=input protocol=tcp psd=21,3s,3,1 action=add-src-to-address-list address-list=port-scanners address-list-timeout=1h comment="端口扫描检测"
add chain=input src-address-list=port-scanners action=drop comment="封锁扫描器"
```
### 3.2 SYN Flood防护
```
/ip firewall filter
add chain=input protocol=tcp tcp-flags=syn action=add-src-to-address-list address-list=SYN-attack address-list-timeout=10m comment="SYN Flood检测"
add chain=input src-address-list=SYN-attack action=drop comment="封锁SYN攻击源"
```
### 3.3 SSH暴力破解防御
通过限制SSH连接频率可以有效防范暴力破解:
```
/ip firewall filter
add chain=input protocol=tcp dst-port=22 connection-state=new action=add-src-to-address-list address-list=ssh-attempt address-list-timeout=1m comment="标记SSH尝试"
add chain=input src-address-list=ssh-attempt limit=3,60 action=return comment="允许每分钟3次"
add chain=input src-address-list=ssh-attempt action=drop comment="超出限制后丢弃"
```
## 四、NAT与端口转发安全
配置端口转发时,务必结合防火墙规则限制来源:
```
/ip firewall nat
add chain=dstnat protocol=tcp dst-port=8443 src-address-list=allowed-users action=dst-nat to-addresses=10.0.0.100 to-ports=443 comment="仅允许指定用户访问"
```
配合地址列表管理白名单,避免将服务直接暴露给整个互联网。
## 五、规则优化与调试
### 5.1 规则计数查看
每条防火墙规则都有匹配计数,可以用来分析流量:
```
/ip firewall filter print stats
```
查看哪些规则命中次数多,可以帮助判断是否存在异常流量或规则优先级配置不合理。
### 5.2 使用Log调试
在测试新规则时,先不要直接drop,而是用log动作观察:
```
add chain=input protocol=tcp dst-port=22 action=log comment="先记录SSH连接"
```
确认无误后再改为drop。
### 5.3 规则顺序的重要性
RouterOS按顺序执行规则,更具体的规则应该放在前面,更宽泛的规则放在后面。常见顺序建议:
1. 允许已建立连接
2. 丢弃无效连接
3. 特殊放行规则(VPN、管理IP等)
4. 攻击检测与阻断
5. 默认拒绝
## 六、生产环境注意事项
### 6.1 远程管理备份规则
在通过远程修改防火墙规则前,先保存一份现有规则的备份。建议创建一个管理员脚本一键恢复:
```
/export file=backup-before-firewall-changes
```
万一把自己关在外面,还可以通过MAC Winbox或重置按钮恢复访问。
### 6.2 使用Safe Mode
Winbox和WebFig都支持Safe Mode,在修改规则时先开启此模式,如果一定时间内没有确认或连接断开,所有修改会自动回滚。
### 6.3 日志监控
建议将防火墙drop日志发送到远程日志服务器,便于事后审计和攻击溯源。
## 总结
RouterOS防火墙配置并不复杂,但顺序和细节决定成败。核心要点是:
1. 先放行已建立连接,最后默认拒绝
2. 利用地址列表防范暴力破解
3. 修改前备份规则,用Safe Mode保护远程连接
4. 生产环境一定要做日志监控
保持良好的习惯,你的MikroTik设备才能在公网环境中安全稳定地运行。