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

打赏

取消

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

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

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

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