在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> print
Flags: X, D - DYNAMIC
Columns: ADDRESS, NETWORK, INTERFACE
#   ADDRESS          NETWORK       INTERFACE
0   192.168.10.2/24  192.168.10.0     ether2
1   192.168.20.2/24  192.168.20.0     ether3
2   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> print
Flags: X - disabled, I - invalid; D - dynamic

0    chain=forward action=drop src-address-list=blacklist log=no
log-prefix=""

1    chain=forward action=accept src-address=192.168.20.88 log=no
log-prefix=""

2    chain=forward action=accept src-address=192.168.30.88 log=no
log-prefix=""

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

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

查看修改情况:

[admin@ MikroTik] /ip/firewall/filter> print
Flags: X - disabled, I - invalid; D - dynamic

0    chain=forward action=accept src-address=192.168.20.88 log=no
log-prefix=""

1    chain=forward action=accept src-address=192.168.30.88 log=no
log-prefix=""

2    chain=forward action=drop src-address-list=blacklist log=no
log-prefix=""

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

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章很值,打赏犒劳作者一下