RouterOS adlist广告域名过滤
Adlist是网络广告拦截的一个功能部件,针对已知广告服务的域名的规则集合。此功能通过使用DNS解析来拦截对广告类域的请求。当客户端设备向RouterOS的DNS服务器查询列表中的域名时,会改变DNS解析结果。DNS服务器不会返回广告域名的实际IP地址,而是返回IP地址0.0.0.0。这有效地将请求路由设置为空,因为0.0.0.0是一个不可路由的地址,用于表示无效、未知或不适用的目标。通过这种方式重定向广告请求。
从RouterOS 7.15开始支持adlist
注意:在配置之前,请增加DNS缓存,因为添加广告域名过滤规则会增加DNS缓存的使用,具体大小根据自己添加的内容修改,官方视频设定在20M。如果达到缓存限制,DNS会出现运行错误,在日志中打印“adlist read: max cache size reached”。
需要用RouterOS作为DNS服务器,开启DNS服务功能,设置allowed-remote-request=yes,如果DNS服务器没有用RouterOS网关IP,将无法实现域名过滤!
配置实例
Adlist的URL基本操作,指定一条广告域名链接,设置ssl-verify=no:
/ip/dns/adlist add url=https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts ssl-verify=no
查看广告域名过滤是否生效
/ip/dns/adlist/print Flags: X - disabled 0 url="https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts" ssl-verify=no match-count=122 name-count=164769
本地主机文件加载:
可以通过txt文本创建你自己的adlist域名列表,编辑格式如下
0.0.0.0 example1.com 0.0.0.0 eu1.example.com 0.0.0.0 ex.com 0.0.0.0 com.example.com
可以在PC电脑上编辑好文本,也可以在RouterOS上编辑,如以下方式
/file/add name=host.txt
然后运行edit,添加内容条目
/file/edit host.txt contents
完成后使用”ctrl o” 保存.
然后在ip dns adlist中调用文本
/ip/dns/adlist/add file=host.txt
可以通过”/ip/dns/adlist/print” 来确认文件格式正确性,将显示出多少匹配的域名被正确添加,如下:
/ip/dns/adlist/print Flags: X - disabled 0 file=host.txt match-count=0 name-count=4
文章很值,打赏犒劳作者一下