简单聊聊AdGuardHome
AdGuardHome介绍
AdGuardHome,基本多为DNS服务器存在,去广告之类的也就附带,有作用,但不大。从DNS服务器角度来说,好看,真的是好看,配置也简单,功能也是很完善。另外还能做DHCP服务器,操作简单,界面明了,有兴趣可以试试
安装
常见安装位docker和openwrt等支持插件路由系统上插件安装
1、docker安装
#portainer中docker-compose示例
services:adguardhome:
image: adguard/adguardhome:latest
restart: always
container_name: adguardhome
network_mode: host
#host模式可以删除ports配置
ports:- "3000:80" #WebUI端口
- "53:53" #DNS端口
- "67:67"#DHCP端口,不需要可以去掉
- "68:68" #DHCP端口,不需要可以去掉
volumes:
- /you_dir/workdir:/opt/adguardhome/work
- /you_dir/confdir:/opt/adguardhome/conf
docker安装方式比较简单,一般推荐用host或者maclan,桥接则需要注意配置端口。部署好后可以将宿主机DNS改为本机IP,这样就能让宿主机DNS走ADG了
2、插件安装
目前我用的是openwrt,编译安装或者包安装(luci-app-adguardhome)都行

配置
1、关于53端口
如果是docker部署,直接点的,填adg的ip作为dns服务器,这样可以统计到每个设备,也可以将路由系统的53端口流量转发到ADG上,比如openwrt,设置防火墙进行转发,这样的话dns服务器还是填openwrt的ip,不过这样只能统计openwrt流量

如果是openwrt中,则有几个选项

无:不做操作,也可以看成手动操作,比如将Dnsmasq的端口从53设置其他,adg设置为53,也是直接底层接管dns流量
作为dnsmasq的上游服务器:流量经过dnsmasq,然后转发到adg上,统计为127.0.0.1地址流量
重定向53端口到 AdGuardHome:以防火墙方式将流量转发到adg,同样也能统计到每个设备
使用53端口替换 dnsmasq:其实跟上面“无”的例子一样,只不过是自动设置端口,表现为将adg端口和dnsmasq的53端口交换,最终adg成功拿到53端口,同样也能统计到每个设备
2、DNS设置-上游DNS设置
如果不给ADG指定自定义上游DNS服务器(如Mosdns、SmartDNS或者魔法),如图

多个上游DNS,建议选择并行请求,如果上游DNS多为DOH/DOT,需要再Bootstrap DNS 服务器填写解析DNS,如下示例,可以填运营商或者公共DNS,可以IPV6
223.5.5.5
2400:3200::1
2400:3200:baba::1
2400:da00::6666
指定上游DNS时,填写IP:端口,docker需要填写子网IP,如Mosdns、SmartDNS或者魔法 IP是192.168.1.12,端口为888,就直接填192.168.1.12:888(另外魔法在测试上游的时候可能会报错,可以直接忽略,是生效的)

3、DNS设置-DNS缓存

如果ADG没有指定自定义上游DNS或者指定魔法为上游DNS,可以开启缓存和乐观缓存,如果指定自定义上游DNS为Mosdns、SmartDNS,最好是关闭ADG所有缓存。

神秘效果
ADG是DNS拦截,所以不要抱太大希望,pc、手机浏览器还是开插件好
浏览器没开启ad

浏览器开启ad


作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
