在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地址情况。
2023-12-13T11:46:19
2023-12-13T11:48:22
2024-01-12T09:13:59
2024-01-12T09:13:28
2024-01-12T09:13:03
2024-01-12T09:12:31
2024-01-12T09:12:03
2024-01-11T09:02:33
2024-01-11T09:02:06
2024-01-11T09:01:40