RouterOS使用Address-List创建黑白名单事例

在RouterOS通过address-list创建黑白名单有效的进行地址分组和管理,例如建立上网黑白名单,通过白名单和黑名单配置方式做一个事例介绍

白名单事例

在内网有三个IP地址段192.168.10.0/24、192.168.20.0/24和192.168.30.0/24,在ip address查看配置

[admin@MikroTik] /ip/address> printFlags: X, D - DYNAMICColumns: ADDRESS, NETWORK, INTERFACE#   ADDRESS          NETWORK       INTERFACE0   192.168.10.2/24  192.168.10.0     ether21   192.168.20.2/24  192.168.20.0     ether32   192.168.30.2/24  192.168.30.0     ether4

网络中仅允许192.168.10.0/24、192.168.20.88/32、192.168.30.88/32的主机能访问互联网,其他IP地址拒绝访问,首先在/ip firewall address-list创建白名单列表

[admin@MikroTik]>/ip firewall address-list[admin@MikroTik] /ip/firewall/address-list>add address=192.168.10.0/24 list="whitelist"[admin@MikroTik] /ip/firewall/address-list>add address=192.168.10.88 list="whitelist"[admin@MikroTik] /ip/firewall/address-list>add address=192.168.30.88 list="whitelist"

进入/ip firewall filter下配置过滤策略,内部局域网到互联网访问是forward链表,首先匹配允许白名单列表通过

[admin@MikroTik] >/ip firewall filter[admin@MikroTik] /ip/firewall/filter> add action=accept chain=forward src-address-list="whitelist"

再添加拒绝所有IP通过,注意添加顺序,防火墙是按照顺序执行,规则在优先级越高。

[admin@MikroTik] /ip/firewall/filter>add action=drop chain=forward

黑名单事例

在之前的白名单事例反过来配置,即拒绝不能上网的IP地址,就是黑名单的方式

禁止192.168.20.0/24和192.168.30.0/24访问互联网,创建一个blacklist黑名单

[admin@MikroTik] /ip/firewall/address-list>add address=192.168.20.0/24 list="blacklist"[admin@MikroTik] /ip/firewall/address-list>add address=192.168.30.0/24 list="blacklist"

在filter下配置过滤策略,内部局域网到互联网访问是forward链表,配匹blacklist的ip地址禁止通过

[admin@MikroTik] /ip/firewall/filter> add action=drop chain=forward src-address-list="blacklist"

注意:默认情况下所有filter链表规则是accept接受通过,因此只需要添加drop丢弃规则,不匹配的IP将会被接受通过

之前我们的策略允许192.168.20.88和192.168.30.88可以访问互联网,那我们需要补充两条规则

[admin@MikroTik] /ip/firewall/filter>add action=accept chain=forward src-address=192.168.20.88[admin@MikroTik] /ip/firewall/filter>add action=accept chain=forward src-address=192.168.30.88

使用print命令查看filter列表,规则1,2是192.168.20.88和192.168.30.88的允许规则,在规则0后面,肯定不会优先处理

[admin@ MikroTik] /ip/firewall/filter> printFlags: X - disabled, I - invalid; D - dynamic0    chain=forward action=drop src-address-list=blacklist log=nolog-prefix=""1    chain=forward action=accept src-address=192.168.20.88 log=nolog-prefix=""2    chain=forward action=accept src-address=192.168.30.88 log=nolog-prefix=""

将规则1,2移动到0之前优先处理,通过move命令调整顺序

[admin@MikroTik] /ip/firewall/filter> move 1,2 0

查看修改情况:

[admin@ MikroTik] /ip/firewall/filter> printFlags: X - disabled, I - invalid; D - dynamic0    chain=forward action=accept src-address=192.168.20.88 log=nolog-prefix=""1    chain=forward action=accept src-address=192.168.30.88 log=nolog-prefix=""2    chain=forward action=drop src-address-list=blacklist log=nolog-prefix=""

当然,192.168.20.88和192.168.30.88可以创建一个whitelist中,添加一条src-address-list规则完成,这样适合较多的白名单IP地址情况。