早期阻止网站访问,通过content的文本内容过滤,例如过滤www.mikrotik.com的域名

/ip firewall filter

add action=drop chain=forward content=www.mikrotik.com

但content内容过滤进对http内容有效,且非常简单粗暴的,因为报文中涵盖的明文内容也会过滤掉,也无法对https域名进行过滤。如果要过滤https网站域名,需要使用tls-host的过滤功能,配置如下:

/ip firewall filter

add action=drop chain=forward protocol=tcp tls-host=www.mikrotik.com

如果你的网络配置了IPv6,则需要在ipv6防火墙下添加同样的配置

/ipv6 firewall filter

add action=drop chain=forward protocol=tcp tls-host= www.mikrotik.com

 

address-list过滤方法

域名过滤还有另外一种方式,通过dns域名解析到的IP进行过滤,这个操作需要通DNS和firewall address-list来完成,要求RouterOS版本在v6.36以上

这种方法是通过firewall address-list对域名进行解析,返回该域名在当前DNS下解析的IP地址,然后通过filter过滤address-list的地址列表,完成对网站的过滤访问,配置如下:

/ip firewall address-list

add address=blockweb list=www.mikrotik.com

add address=blockweb list=www.routeros.com

在filter下过滤网站的目标IP地址

/ip firewall filter

add action=drop chain=forward protocol=tcp dst-address-list=blockweb

如果有IPv6网络配置如下:

/ipv6 firewall address-list

add address=blockweb list=www.mikrotik.com

add address=blockweb list=www.routeros.com

/ipv6 firewall filter

add action=drop chain=forward protocol=tcp dst-address-list=blockweb

注意:配置域名到address-list操作虽然简单,但关键是DNS解析的IP,必须和客户端的DNS解析的IP一直,所以对客户端的DNS管控是非常重要的,可以通过重定向客户的DNS请求到本地DNS解析。