为何要用双ADG,很多人知道它是一个去广告的插件,其实它的核心功能还有一个就是DNS,至于为何用双ADG目的就是为了给网络做下DNS分流,说简单点,国内域名解析用国内DNS,国外域名解析就直接走国外DNS,互补干扰,搭建一套属于自己的DNS服务器,安全,方便,可控还可靠~
做分流的目的一来是在打开国内外网站时,能从dns上返回最匹配当前线路的解析地址,快速响应页面,二来是阻止DNS泄露问题~
当你访问国内网站时,通过国内的DNS解析服务器解析,响应页面速度快,访问延迟低~~
这样做不仅可以有效防止污染,重要的是你在国内网络浏览国外的网络地址是分流到了国外DNS上去解析,而不是用国内的114等公共服务器做解析,那么在国内的DNS服务器上就不会有你解析国外域名的解析记录~也就是我们所说的DNS泄露~
需要的设备
一个干净的Debian10系统
更新Debian系统
apt-get update
使用官方安装脚本自动安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
验证docker是否安装成功
docker
有如下输出说明安装成功
手动拉取最新的稳定版ADG镜像
docker pull adguard/adguardhome:latest
创建adg所需要的文件夹目录
因为是双 AdGuardHome, 所以需要两个工作目录和配置文件夹.
mkdir -p /mnt/AdGuardHome/workdir1 mkdir -p /mnt/AdGuardHome/workdir2 mkdir -p /mnt/AdGuardHome/confdir1 mkdir -p /mnt/AdGuardHome/confdir2
创建启动ADG容器
启动国内ADG容器编号为1
docker run --name adguardhome1 \ -v /mnt/<a href="https://7zht.com/index.php/tag/a-2" title="查看更多关于AdGuardHome的文章" target="_blank">AdGuardHome</a>/workdir1:/opt/adguardhome/work \ -v /mnt/AdGuardHome/confdir1:/opt/adguardhome/conf \ --net=host \ --restart=always \ -d adguard/adguardhome:latest
启动完成后,浏览器输入路由ip:3000进入配置页面
剩下的配置用户名密码自行设置就可以了,完成后关闭窗口
创建国外ADG容器
代码逐行粘贴,不要一次性复制
docker run --name adguardhome2 \ -v /mnt/AdGuardHome/workdir2:/opt/adguardhome/work \ -v /mnt/AdGuardHome/confdir2:/opt/adguardhome/conf \ --net=host \ --restart=always \ -d adguard/adguardhome:latest
启动完成后,方法同上,ip:3000进入配置页面,这次管理页面改成3001亦可以不改,DNS服务器端口改成5335,这是ssrp默认端口
配置与使用
进入国内ADG仪表盘,点击设置-DNS设置,输入DNS地址
##上游DNS tls://dns.pub tls://dns.alidns.com https://doh.pub/dns-query https://dns.pub/dns-query https://dns.alidns.com/dns-query ##国内Bootstrap DNS 114.114.114.114
配置完成后进国外ADG,继续配置DNS
#上游DNS服务 tls://1.1.1.1/dns-query tls://dns.google https://dns.google/dns-query tls://dns11.quad9.net https://dns11.quad9.net/dns-query #国外Bootstrap DNS 9.9.9.10 8.8.8.8 ##如果只用tcp/udp协议的DNS,bootstarpDNS可以不填,留空就行
DOH/DOT必须填写地址
配置完成点击应用,退出。
双AdGuardHome搭建完成