前言

最近接触到DOH,感觉挺好玩的,既可以防止去广告劫持,有有很高的安全性和隐私性,具体优点详见百度。当然无需求的建议不要使用,可能没有传统DNS的响应速度快

开始

准备

  • 一台服务器(延迟较低优先)
  • 一个大脑和双手
  • 一部(台)手机/电脑

安装AdGuard Home

在服务器(Linux)上安装

  1. 首先确保您的服务器有足够的配置进行安装
apt-get install sudo nano bind9-host
  1. 下载AdGuard Home二进制文件并解压
wget https://static.adguard.com/adguardhome/release/AdGuardHome_linux_amd64.tar.gz
tar xvf AdGuardHome_linux_amd64.tar.gz
  1. 进入解压后的文件夹并开始安装AdGuard Home
cd AdGuardHome
pwd
sudo ./AdGuardHome -s install
  1. 启动AdGurad Home
./AdGuardHome -s start
  1. 查看是否启动成功
    输入host doubleclick.net 127.0.0.1后,输出信息如下即为成功
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

Host doubleclick.net not found: 3(NXDOMAIN)
  1. 其他指令代码
  • AdGuardHome -s uninstall //卸载AdGuard Home
  • AdGuardHome -s start //开始服务
  • AdGuardHome -s stop //停止服务
  • AdGuardHome -s restart //重新启动服务
  • AdGuardHome -s status //显示当前的服务状态

在Docker上安装

请确保您的服务器安装了Docker
  1. 拉取AdGuard Home - Docker
docker pull adguard/adguardhome
  1. 创建文件夹以保存相关文件
    您应该在主机系统上的适当卷上创建数据目录,例如/my/own/workdir,并在主机系统上的适当卷上创建配置目录,例如/my/own/confdir
  2. 创建并运行容器
docker run --name adguardhome\
    --restart unless-stopped\
    -v /my/own/workdir:/opt/adguardhome/work\
    -v /my/own/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

配置详解:
您可能需要的端口映射:

-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/DNS-over-HTTPS服务的端口

-p 853:853/tcp  //AdGuard Home开启TLS-over-DNS服务运行的端口

-p 784:784/udp -p 853:853/udp -p 8853:8853/udp. //AdGuard Home开启DNS-over-QUIC服务的端口,两者任选其一

-p 5443:5443/tcp -p 5443:5443/udp. //AdGuard Home开启DNSCrypt服务的端口
  1. 其他指令代码

容器管理

  • docker start adguardhome //启动容器
  • docker stop adguardhome //停止容器
  • docker rm adguardhome //删除容器

更新版本

  1. 拉取新版本镜像
docker pull adguard/adguardhome
  1. 停止并删除镜像
docker stop adguardhome
docker rm adguardhome
  1. 重复在Docker上安装第一步

其他配置

  • 主要配置
    AdGuardHome.yaml此为配置文件
  • DHCP服务器
    如果您想使用AdGuard Home的DHCP服务,在创建容器时应传递--network host参数
docker run --name adguardhome --network host...

此选项Docker使用主机的网络,而不是docker桥接的网络。请注意,在这种情况下,不需要使用-p进行端口映射

配置AdGuard Home

53端口为 DNS(Domain Name Server,域名服务器)服务器所开放,主要用于域名解析,通过 DNS 服务器可以实现域名与 IP 地址之间的转换,只要记住域名就可以快速访问网站。
《电信业务分类目录》(2015 版)已将互联网域名递归解析服务纳入电信业务(代号是 B26-1),即从事域名递归服务需获得该业务种类的增值电信业务许可。

因为国内不允许私人搭建公开的DNS服务,所以我们不考虑UDP/TCP DNS服务

在这里我们可以参考其他作者的文章进行配置传送门

未更新......

最后修改:2022 年 03 月 25 日
如果觉得我的文章对你有用,请随意赞赏