自建屏蔽广告 DNS 服务器 AdGuard Home

AdGuard Home是一个网络范围的广告和跟踪器阻止DNS服务器。可将广告与追踪相关的域名屏蔽,指向空的主机名(DNS 黑洞)。其目的是让您控制整个网络和所有设备,而不需要使用客户端程序。 同时,AdGuard Home具有Web界面,可轻松管理过滤规则。

在安装完毕后,它将保护所有使用该 DNS 服务器的设备,不再需要安装任何广告屏蔽器或浏览器去广告插件。

如果嫌麻烦,不想自己搭建,也可以使用 Adguard 官方的 DNS 服务:176.103.130.130176.103.130.131,配置方式可参考官网

官方提供了多种安装 AdGuard Home 的方式:

  • 部署在 VPS 上(公网)
  • 部署在 树莓派 上(家庭局域网)
  • 通过 Docker 部署在群晖 NAS 上(家庭局域网)

本教程搭建环境为 Ubuntu 16 的VPS。

adguard-home-dns.jpeg

架设VPS

最好选购物理距离离自己近的数据中心,保证低延迟。

这里我们使用的是VirMach年付$10的VPS 直达链接(aff)

本教程搭建环境为 Ubuntu 16 的VPS。

安装依赖

apt-get install sudo nano bind9-host -y

下载并解压最新的 AdGuard Home 程序

在这个页面找到最新的版本,这里以AdGuard Home v0.95版本为例。
下载程序:

wget https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.95-hotfix/AdGuardHome_v0.95-hotfix_linux_amd64.tar.gz

解压:

tar xvf AdGuardHome_v0.95-hotfix_linux_amd64.tar.gz

建立服务

cd AdGuardHome
pwd

编辑文件/etc/systemd/system/adguard-home.service

sudo nano /etc/systemd/system/adguard-home.service

把以下内容复制并粘贴入这个文件,然后 crtl + x, yes 保存

[Unit]
Description=AdGuard Home
After=syslog.target
After=network.target

[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/root/AdGuardHome
ExecStart=/root/AdGuardHome/AdGuardHome --host 0.0.0.0
Restart=always

[Install]
WantedBy=multi-user.target

服务的启动/停止/重启

让服务开机自动运行:

sudo systemctl enable adguard-home

启动服务:

sudo systemctl start adguard-home

停止服务:

sudo systemctl stop adguard-home

重启服务:

sudo systemctl restart adguard-home

网页端设置

浏览器输入网址 http://你的服务器IP地址:3000/ 就可登录 AdGuard Home 网页管理界面。

设置网页端登录密码

先停止服务

sudo systemctl stop adguard-home

编辑/root/AdGuardHome/AdGuardHome.yaml配置文件:

sudo nano /root/AdGuardHome/AdGuardHome.yaml

找到包含 auth_name: ""auth_pass: ""的条目,改为你自己的用户名和密码:

auth_name: "自设用户名"
auth_pass: "自设密码"

ctrl + x, yes 保存。
再次启动服务:

sudo systemctl start adguard-home

之后,在浏览器中访问Web界面将需要输入用户名和密码。

在电脑和手机等设备上配置新的DNS服务器

见官方教程,适用于Windows, Mac, iOS, Android, 路由器 等。

服务器禁ping

禁止ping,避免服务器被扫描发现:

sysctl -w net.ipv4.icmp_echo_ignore_all=1

如要恢复ping,改为0即可:

sysctl -w net.ipv4.icmp_echo_ignore_all=0

更改默认Web管理端口

比如需要把默认3000端口改为5300,则在启动命令后加上 --port 5300 即可。

编辑文件/etc/systemd/system/adguard-home.service为:

[Unit]
Description=AdGuard Home
After=syslog.target
After=network.target
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/root/AdGuardHome
ExecStart=/root/AdGuardHome/AdGuardHome --host 0.0.0.0 --port 5300
Restart=always
[Install]
WantedBy=multi-user.target

服务器升级

如果有新版本发布,会在网页管理端顶部出现提示。

更新步骤跟刚才一样。

先停止服务:

sudo systemctl stop adguard-home

在这个页面找到最新的版本,这里以AdGuard Home v0.92-hotfix2版本为例。
下载程序:

wget https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.92-hotfix2/AdGuardHome_v0.92-hotfix2_linux_amd64.tar.gz

解压:

tar xvf AdGuardHome_v0.92-hotfix2_linux_amd64.tar.gz

启动服务:

sudo systemctl start adguard-home

参考

官方搭建教程(VPS)
官方搭建教程(其他平台)

发表新评论