You are on page 1of 3

ROS 的 filter 规则等同于华为或者思科的 ACL 规则,安装好的 ROS 系统,在初始情况下,

默认的防火规则有三种:input,output,forward 三种链。简单说一下每一种的作用:input 是指
作用于所有去访问路由器本身的数据流,output 是指作用于从路由器本身发出或者回应给
其他访问的数据流,forward 是指作用于通过路由器转发的数据流,主要是用于过滤内网用
户与外网的数据交互。

举些简单的应用例子:
1)假定不允许从 IP 地址是 192.168.1.100 的机器登录路由器:
[admin@MikroTik] > ip
[admin@MikroTik] /ip> firewall filter
[admin@MikroTik] /ip firewall filter> add chain=input src-address=192.168.1.100 action=drop
[admin@MikroTik] /ip firewall filter> print
Flags: X - disabled, I - invalid, D - dynamic
0   chain=input action=drop src-address=192.168.1.100
2)假定不允许路由器回应外网用户的 PING 探测:
[admin@MikroTik] /ip firewall filter> add chain=output protocol=icmp out-interface=wan icmp-
options=0 action=drop   
[admin@MikroTik] /ip firewall filter> print
Flags: X - disabled, I - invalid, D - dynamic
0   chain=input action=drop src-address=192.168.1.100
1   chain=output action=drop protocol=icmp out-interface=wan
     icmp-options=0:0-255
解释相关的部分参数:protocol 参数是指选择的协议,如 TCP,UDP,ICMP 等。icmp-options 意
思是指 ICMP 的选项,代码 0 表示:echo replay。
3)假定禁止内网的机器使用 192.168.1.200-192.168.1.220 的 IP 地址访问外部网络
[admin@MikroTik] /ip firewall filter> add chain=forward src-address=192.168.1.200-
192.168.1.220 action=drop
[admin@MikroTik] /ip firewall filter> print
Flags: X - disabled, I - invalid, D - dynamic
0   chain=input action=drop src-address=192.168.1.100
1   chain=output action=drop protocol=icmp out-interface=wan
     icmp-options=0:0-255
2   chain=forward action=drop src-address=192.168.1.200-192.168.1.220

4)假定要实现防止外部网络使用 TCP 连接攻击路由器本身


[admin@MikroTik] /ip firewall filter> add chain=input protocol=tcp connection-limit=5,32
action=add-src-to-address-list address-list=black-address address-list-timeout=1d   
[admin@MikroTik] /ip firewall filter> add chain=input src-address-list=black-address action=drop

[admin@MikroTik] /ip firewall filter> print


Flags: X - disabled, I - invalid, D - dynamic
0   chain=input action=drop src-address=192.168.1.100
1   chain=output action=drop protocol=icmp out-interface=wan
     icmp-options=0:0-255
2   chain=forward action=drop src-address=192.168.1.200-192.168.1.220
3   chain=input action=add-src-to-address-list protocol=tcp
     address-list=black-address address-list-timeout=1d
     connection-limit=5,32
4   chain=input action=drop src-address-list=black-address

以上的功能实现也可以利用 filter 与 mangle 相互配合使用:


[admin@MikroTik] /ip firewall filter> ..
[admin@MikroTik] /ip firewall> mangle
[admin@MikroTik] /ip firewall mangle> add chain=input protocol=tcp connection-limit=5,32
action=add-src-to-address-list address-list=black-address address-list-timeout=1d
[admin@MikroTik] /ip firewall mangle> print
Flags: X - disabled, I - invalid, D - dynamic
0   chain=input action=add-src-to-address-list protocol=tcp
     address-list=black-address address-list-timeout=1d
     connection-limit=5,32
[admin@MikroTik] /ip firewall mangle> ..
[admin@MikroTik] /ip firewall> filter
[admin@MikroTik] /ip firewall filter> add chain=input src-address-list=black-address action=drop

[admin@MikroTik] /ip firewall filter> print


Flags: X - disabled, I - invalid, D - dynamic
  0   chain=input action=drop src-address-list=black-address
解释一下相关部分参数:action=add-src-to-address-list 意思是把引起超过限制连接数的源地
址提取出来,放入名称为 black-address 的地址列表中。address-list-timeout 参数的意思是放
进 black-address 地址列表中的 IP 地址在多久后释放出来。connection-limit 参数是配置连接
数的限制,connection-limit=5,32 参数中 5 代表 5 个连接数,32 是指 IP 地址的子网掩码,意
思是每一个来访问路由器的源地址同时只允许最多建立 5 个 TCP 连接数。

filter 规则的默认执行顺序是从上往下的顺序执行,在执行的过程中可以对规则的 action 参


数相关配置对执行顺序作跳转,如跳转到用户自定义的链执行完了会再返回原来的序列往
下执行。
5)假定为了抑制 ICMP 包攻击,设定对转发和路由本身的对 ICMP 的请求及回应的 ICMP 包
数据进行限定
[admin@MikroTik] /ip firewall filter> add chain=icmp protocol=icmp icmp-options=0 limit=5,32
action=accept
[admin@MikroTik] /ip firewall filter> add chain=icmp protocol=icmp icmp-options=8  limit=5,32
action=accept
[admin@MikroTik] /ip firewall filter> print
Flags: X - disabled, I - invalid, D - dynamic
0   chain=icmp action=accept protocol=icmp icmp-options=0:0-255 limit=5,32
1   chain=icmp action=accept protocol=icmp icmp-options=8:0-255 limit=5,32
解释一下相关部分参数: chain=icmp 意思是建立自定义的链 ICMP
[admin@MikroTik] /ip firewall filter> add chain=input protocol=icmp action=jump jump-
target=icmp
[admin@MikroTik] /ip firewall filter> add chain=forward protocol=icmp action=jump jump-
target=icmp
[admin@MikroTik] /ip firewall filter> print
Flags: X - disabled, I - invalid, D - dynamic
0   chain=icmp action=accept protocol=icmp icmp-options=0:0-255 limit=5,32
1   chain=icmp action=accept protocol=icmp icmp-options=8:0-255 limit=5,32
2   chain=input action=jump jump-target=icmp protocol=icmp
3   chain=forward action=jump jump-target=icmp protocol=icmp
以上在 filter 规则里面的执行顺序如下:路由器先对数据流一一与 0,1 这两个条匹配,不匹
配时,往下执行。实行到第 2 条后,如果是对路由器本身进行作 PING 操作,则会跳转回
0,1 规则进行处理后,再往下执行第 3 条。

善用 filter 与 mangle 相互配合使用,可以实现许多功能强大的规则,为内网及路由本身提


供完善的防火规则。

以上的规则,可以直接在“winbox”的“new terminal”中粘贴使用

You might also like