站点图标 Linux-技术共享

AdGuard Home 入门教程:通过搭建 DNS Server 实现多设备屏蔽广告

为了屏蔽广告,adblock 可以说是我在 Chrome 浏览器上必装的插件之一了。安装插件虽然简单,但对象也很明确,就是针对浏览器。如果我要屏蔽整个设备上的广告,光靠插件就束手无策了。这种情况下,我们可以借助开源项目 AdGuard Home[1],在自己的 VPS 上搭建专属的 DNS Server 来实现多设备屏蔽广告。在这篇文章中,我将介绍下 AdGuard Home 安装和使用方法。

安装

第一步当然是安装。我准备将服务部署到一台 CentOS 系统的 VPS 上,运行官方提供的脚本来安装:

curl -sSL https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh

如果运行时提示 curl: (7) Failed connect to raw.githubusercontent.com:443; Connection refused,可以修改本地 hosts 文件:

 
 
 
sudo vim /etc/hosts

# 加上一行
199.232.28.133 raw.githubusercontent.com

脚本运行后会在 /opt/AdGuardHome 目录下生成文件。

/opt/AdGuardHome
├── AdGuardHome
├── AdGuardHome.sig
├── data
│   └── sessions.db
├── LICENSE.txt
└── README.md

1 directory, 5 files

执行以下命令来启动服务,服务默认监听在 3000 端口上:

/opt/AdGuardHome/AdGuardHome -s start

服务启动后,访问 http://localhost:3000,这里注意要把 localhost 改为自己 VPS 的地址。如果能够看到设置页面,说明安装成功了。

设置

安装完成后,AdGuard Home 会跳转到配置页面,如上图所示。点击「开始配置」进行配置,期间会要求创建一个认证账号,按提示配置即可。登录后界面如下:

由于 AdGuard Home 是一个外国团队开发的开源版本,自带的规则可能不太适合在国内使用。接下来,我会简单调整下 AdGuard Home 的设置,大家在配置的时候可以参考下。

DNS 设置

首先是修改上游 DNS 服务器,可以加入一些常用的 DNS[2] 来提高解析速度,比如:

点击上方「设置」中的 「DNS 设置」,加入 DNS 地址后点击「应用」保存配置。

过滤规则

接下来是设置过滤规则,网上相关的资源还是比较多的,这里我推荐 GitHub 上一个开源的清单[2]

https://raw.githubusercontent.com/privacy-protection-tools/anti-AD/master/anti-ad-easylist.txt

点击上方「过滤器」中的「DNS 封锁清单」,点击「添加阻止列表」后 「添加一个自定义列表」,在清单中填写名称与地址。

保存后就可以看到自定义的封锁清单了,同时请确保清单是勾选状态。

如果规则仍无法满足需求,可以在「过滤器」中的「自定义过滤规则」页面进行设置。

使用

AdGuard Home 提供了各设备的设置指导,可以在「设置指导」页面中获取帮助。

以 Windows 系统为例,设置的步骤如下:

  1. 通过开始菜单或 Windows 搜索功能打开控制面板。
  2. 点击进入 “网络和 Internet” 后,再次点击进入 “网络和共享中心”。
  3. 在窗口的左侧找到 “更改适配器设置” 并点击进入。
  4. 选择您正在连接的网络设备,右击它并选择 “属性”。
  5. 在列表中找到 ”Internet 协议版本 4 (TCP/IPv4)“ ,选择并再次点击 “属性”。
  6. 选择 “使用下面的 DNS 服务器地址” ,并输入您的 AdGuard Home 服务器地址。

本机设置好 DNS 后,访问网页看下屏蔽的效果:

现在回到仪表盘,可以看到相关的拦截信息了。

结语

AdGuard Home 的功能强大,界面友好并支持容器化部署。我们可以将服务部署到 VPS 或者树莓派上,通过对路由器进行设置来创造一个干净的局域网环境供多设备使用。

退出移动版