Ubuntu上基Docker的Adguard Home自建DNS系统搭建

本文最后更新于:2022年5月4日 晚上

前言

随着DNS污染、速度慢,广告多等情况日益严重,自建DNS服务成了越来越多人的选择。本项目利用Docker搭建,主要是考虑到搭建便利,更新成本低。在搭建完成后,可以针对广告、成人内容等进行屏蔽,提升上网冲浪体验。

安装 Adguard Home

1
2
3
4
5
docker run --name adguardhome\
--restart unless-stopped\
-p 53:53/tcp -p 53:53/udp\
-p 3000:3000\
-d adguard/adguardhome

执行以上Docker命令即可快速的创建并运行一个Adguard Home容器。其中,53端口为DNS服务的默认端口,由于部分操作系统在指定DNS服务器的时候不支持指定端口,因此这里不建议修改。3000端口为项目管理后台WEB界面的端口,可以自行修改。

端口被占用
在Ubuntu情况下可能会由于53端口占用导致无法正常创建允许容器,这是由于系统自带的’systemd-resolved.service’在负责dns的处理,因此只要把这个服务关了,就可以释放53端口

1
2
3
4
5
6
7
8
sudo systemctl disable systemd-resolved.service
sudo systemctl stop systemd-resolved

nano /etc/NetworkManager/NetworkManager.conf
# 设置dns=default

rm /etc/resolv.conf
sudo service network-manager restart

Adguard Home初始化设置

在容器正常运行后,就可以访问 http://127.0.0.1:3000 进到初始化界面。

初始化完成,进入仪表盘界面

Adguard Home进阶设置

根据不同地理位置配置上游DNS服务器,可以提高Adguard Home查询DNS的速度。具体上游DNS服务器可以参考”Adguard Home Known DNS Providers”

同样,在过滤器增加规则,可以对广告相关的域名进行屏蔽.

  1. anti-AD

    GitHub:
    https://raw.githubusercontent.com/privacy-protection-tools/anti-AD/master/anti-ad-easylist.txt
    官网地址:
    https://anti-ad.net/easylist.txt

Ref

  1. Adding AdGuard to Home Assistant on Hassio on Ubuntu 18.04. [online]Available at <https://eviltyrant.com/wordpress/2019/07/adding-adguard-to-home-assistant-on-hassio-on-ubuntu-18-04/>(2021/12/12)
  2. P3TERX,(2020). AdGuard Home 自建 DNS 防污染、去广告教程 #1 - 安装部署详解(Docker).[online]Available at <https://p3terx.com/archives/use-adguard-home-to-build-dns-to-prevent-pollution-and-remove-ads-1.html>(2021/12/12)
  3. Known DNS Providers. [online]Available at <https://kb.adguard.com/zh/general/dns-providers>(2021/12/12)
  4. chjina,(2021). AdGuard 过滤规则分享.[online]Available at <https://chjina.com/archives/11/>(2021/12/12)