Docker自建DNS广告拦截服务-AdGuard Home

前言

今天友链的朋友摸鱼小窝告诉我他搭建了一个DNS拦截广告的东西,于是我像他索要了教程

开源地址

Github:https://github.com/AdguardTeam/AdGuardHome

教程

命令安装

1.首先拉取镜像

docker pull adguard/adguardhome:v0.107.44

2.运行容器

原始命令

docker run --name adguardhome\
    --restart unless-stopped\
    -v /opt/adguardhome/workdir:/opt/adguardhome/work\
    -v /opt/adguardhome/confdir:/opt/adguardhome/conf\
    -p 53:53/tcp -p 53:53/udp\
    -p 67:67/udp -p 68:68/udp\
    -p 80:80/tcp -p 443:443/tcp -p 443:443/udp -p 3000:3000/tcp\
    -p 853:853/tcp\
    -p 784:784/udp -p 853:853/udp -p 8853:8853/udp\
    -p 5443:5443/tcp -p 5443:5443/udp\
    -d adguard/adguardhome:v0.107.44
命令说明

-p 53:53/tcp -p 53:53/udp:普通DNS。
-p 67:67/udp-p 68:68/tcp-p 68:68/udp:如果您打算将AdGuard Home用作DHCP服务器,请添加。
-p 80:80/tcp-p 443:443/tcp-p 443:443/udp-p 3000:3000/tcp:如果您要使用AdGuard Home的管理面板,并将AdGuard Home作为HTTPS上的HTTPS/DNS服务器运行,请添加。
-p 853:853/tcp:add,如果您要将AdGuard Home作为DNS over TLS服务器运行。
-p 784:784/udp-p 853:853/udp-p 8853:8853/udp:如果您要将AdGuard Home作为QUIC服务器上的DNS运行,请添加。你只能留下其中的一两个。
-p 5443:5443/tcp-p 5443:5443/udp:如果要将AdGuard Home作为DNSCrypt服务器运行,请添加。

简化命令

docker run --name adguardhome\
    --restart unless-stopped\
    -v /opt/adguardhome/workdir:/opt/adguardhome/work\
    -v /opt/adguardhome/confdir:/opt/adguardhome/conf\
    -p 53:53/tcp -p 53:53/udp\
    -p 80:80/tcp -p 3000:3000/tcp\
    -d adguard/adguardhome:v0.107.44

3.查看运行状态

docker ps | grep adguardhome
docker logs adguardhome

配置教程

1. 初始化配置

1、访问网页配置界面
假设宿主机IP为 192.168.56.101 ,那么 网页配置界面 为:http://192.168.56.101:3000/

2、初始化配置
第一次登录时,AdGuard Home会引导我们对 网页管理界面 进行初始化配置。
初始化配置完成之后,网页配置界面就不能访问了。

配置数据会保存到 /opt/adguardhome/confdir/AdGuardHome.yaml 文件中。

3、访问网页管理界面
假设宿主机IP为 192.168.56.101 ,那么 网页管理界面 为:http://192.168.56.101:80/

2. AdGuard Home DNS配置

点击设置,点击DNS设置,按需配置DNS。

常用配置:

  • 上游 DNS 服务器
  • 速率限制
  • DNS 缓存配置
  • 允许的客户端
  • 不允许的客户端
  • 不允许的域名

配置数据会保存到 /opt/adguardhome/confdir/AdGuardHome.yaml 文件中。

3. 过滤器配置

3.1. DNS黑名单

点击过滤器,点击DNS黑名单。

DNS黑名单,可以阻止访问特定域名。
默认黑名单列表为AdGuard DNS filter,可选的黑名单列表还有几十个。

3.2. DNS重写

点击过滤器,点击DNS重写。

DNS重写,可以配置自定义域名解析。

3.3.自定义过滤规则

点击过滤器,点击自定义过滤规则。

自定义过滤规则,可以配置自定义域名解析,也可以阻止访问特定域名。

3.4. 客户机配置使用AdGuard Home

假设宿主机IP为 192.168.56.101 ,那么 resolv.conf 配置为:

nameserver 192.168.56.101
THE END