需求分析:

  • 去广告,清爽上网
  • 防污染,有一个干净的解析环境
  • 有缓存,长久使用加快解析速度
  • 加密传输,防止运行商劫持

方案:

  • 使用overture + AdGuradHome的组合
  • Overture负责国内外解析分流,防止部分dns返回不正确的解析
  • AdGuardHome负责去广告,以及dns解析的加密

你需要了解的前置知识:

  1. ssh连接服务器,如使用FinalShell
  2. 了解 vi 这一Linux下编辑器的使用

    • i 进入编辑模式
    • 编辑完成后按 Esc 键退出编辑模式
    • 输入 :wq 保存并退出

Overture安装及配置

  1. 下载Overture的程序包

    • 打开 这个链接 找到「overture-linux-amd64.zip」
    • 右键复制链接,下载到你的服务器上
    • 例如

      mkdir /opt/overture
      cd /opt/overture
      wget https://hub.fastgit.org/shawn1m/overture/releases/download/v1.7/overture-linux-amd64.zip
  2. 解压

    • unzip overture-linux-amd64.zip
  3. 下载相关域名、IP列表

    wget https://raw.fastgit.org/17mon/china_ip_list/master/china_ip_list.txt
    curl https://raw.fastgit.org/felixonmars/dnsmasq-china-list/master/accelerated-domains.china.conf  | sed 's/server=\///g;s/\/114.114.114.114//g' > china_list1.txt
    curl https://raw.fastgit.org/hq450/fancyss/master/rules/WhiteList_new.txt  | sed 's/Server=\///g;s/\///g' > china_list2.txt
    cat china_list1.txt china_list2.txt | sort -u > china_list.txt
    curl https://raw.fastgit.org/Loukky/gfwlist-by-loukky/master/gfwlist.txt | base64 -d | sort -u | sed '/^$\|@@/d'| sed 's#!.\+##; s#|##g; s#@##g; s#http:\/\/##; s#https:\/\/##;' | sed '/\*/d; /apple\.com/d; /sina\.cn/d; /sina\.com\.cn/d; /baidu\.com/d; /qq\.com/d' | sed '/^[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+$/d' | grep '^[0-9a-zA-Z\.-]\+$' | grep '\.' | sed 's#^\.\+##' | sort -u > gfwlist.txt
    curl https://raw.fastgit.org/hq450/fancyss/master/rules/gfwlist.conf | sed 's/ipset=\/\.//g; s/\/gfwlist//g; /^server/d' > koolshare.txt
    cat gfwlist.txt koolshare.txt | sort -u > gfw_list.txt
    rm -rf gfwlist.txt  koolshare.txt china_list1.txt china_list2.txt
  4. 修改配置文件

    • 这里贴出一个参考,已经试过可以正常运行
    • 删掉原来的,填入下面的

      rm -rf config.yml
      vi config.yml
bindAddress: :5352
debugHTTPAddress: 127.0.0.1:5555
dohEnabled: false
primaryDNS:

- name: Ali
  address: https://dns.alidns.com/dns-query
  protocol: https
  socks5Address:
  timeout: 6
  ednsClientSubnet:
  policy: auto
  externalIP:
  noCookie: true
- name: Dnspod
  address: https://doh.pub/dns-query
  protocol: https
  socks5Address:
  timeout: 6
  ednsClientSubnet:
  policy: auto
  externalIP:
  noCookie: true
  alternativeDNS:
- name: Google
  address: dns.google:853@8.8.4.4
  protocol: tcp-tls
  socks5Address:
  timeout: 6
  ednsClientSubnet:
  policy: auto
  externalIP:
  noCookie: true
- name: Cloudflare
  address: one.one.one.one:853@1.0.0.1
  protocol: tcp-tls
  socks5Address:
  timeout: 6
  ednsClientSubnet:
  policy: auto
  externalIP:
  noCookie: true
  onlyPrimaryDNS: false
  ipv6UseAlternativeDNS: false
  alternativeDNSConcurrent: false
  whenPrimaryDNSAnswerNoneUse: alternativeDNS
  ipNetworkFile:
  primary: ./china_ip_list.txt
  alternative: ./ip_network_alternative_sample
  domainFile:
  primary: ./china_list.txt
  alternative: ./gfw_list.txt
  matcher: suffix-tree
  hostsFile:
  hostsFile: ./hosts_sample
  finder: full-map
  minimumTTL: 0
  domainTTLFile: ./domain_ttl_sample
  cacheSize: 1000
  cacheRedisUrl:
  cacheRedisConnectionPoolSize:
  rejectQType:
- 255
  1. 配置开机自启动
  • 输入 vi /etc/systemd/system/overture.service 填入如下内容
[Unit]
  Description=overture
  After=network.target
  [Service]
  ExecStart=/opt/overture/overture-linux-amd64 -c /opt/overture/config.yml
  Restart=on-abort
  [Install]
  WantedBy=multi-user.target
  1. 启动Overture
systemctl enable overture
  systemctl start overture

安装AdGuardHome

  1. 打开这个链接 ,找到 「AdGuardHome_linux_amd64.tar.gz」,下载到你的服务器上

    • 例如:

      cd /opt
        wget https://hub.fastgit.org/AdguardTeam/AdGuardHome/releases/download/v0.105.1/AdGuardHome_linux_amd64.tar.gz
  2. 解压

    • 如:

      tar -zxvf AdGuardHome_linux_amd64.tar.gz
  3. 安装

    cd AdGuardHome
      ./AdGuardHome -s install
  4. 放行3000 853端口,这个自己去了解
  5. 打开 你的IP:3000 ,开始配置
  6. 第一个端口(默认3000),为web界面的访问端口,自己随意更改
  7. 第二个端口(默认53)为dns的默认端口,如果你不使用dns明文传输,建议改掉
  8. 接下来的账号密码设置自己搞一下

配置AdGuardHome

  • 如果你overture配置文件使用的上方的,可以照抄,否则根据自己情况修改

DNS设置

  1. 修改上游dns服务器

    • 点击 设置---DNS设置
    • 输入 127.0.0.1:8953
    • 点击「并行请求」
    • 向下滑,点击「应用」
  2. DNS服务设定

    • 将「速度限制」改为0
    • 将 「使用客户端子网地址」勾选
    • 点击「保存」
  3. DNS缓存配置

    • 缓存大小改为0
    • 覆盖最小TTL值改为300
    • 覆盖最大TTL值改为7200
    • 点击「保存」

加密设置

提示

  1. 勾选 「启用加密」
  2. 「填写需要使用的域名」
  3. 证书,选择「粘贴证书内容」,将ssl证书文件中以.crt结尾的文件用文本编辑软件打开,复制进去
  4. 私钥,选择「粘贴私钥内容」,将ssl证书文件中以.key结尾的文件用文本编辑软件打开,复制进去
  5. 点击「保存配置」

广告过滤规则配置

  1. 点击过滤器---dns封锁名单
  2. 点击「添加阻止列表」
  3. 点击「添加一个自定义列表」
  4. 名称输入HalfLife,也可以随意输入......
  5. URL输入https://cdn.jsdelivr.net/gh/o0HalfLife0o/list@master/ad.txt

使用

  • 点击 设置向导---DNS隐私
  • 根据提示操作即可
最后修改:2021 年 12 月 16 日 07 : 21 PM
如果觉得我的文章对你有用,请随意赞赏