需求分析:
- 去广告,清爽上网
- 防污染,有一个干净的解析环境
- 有缓存,长久使用加快解析速度
- 加密传输,防止运行商劫持
方案:
- 使用overture + AdGuradHome的组合
- Overture负责国内外解析分流,防止部分dns返回不正确的解析
- AdGuardHome负责去广告,以及dns解析的加密
你需要了解的前置知识:
- ssh连接服务器,如使用FinalShell
了解
vi
这一Linux下编辑器的使用- 按
i
进入编辑模式 - 编辑完成后按
Esc
键退出编辑模式 - 输入
:wq
保存并退出
- 按
Overture安装及配置
下载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
解压
unzip overture-linux-amd64.zip
下载相关域名、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
修改配置文件
- 这里贴出一个参考,已经试过可以正常运行
删掉原来的,填入下面的
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
- 配置开机自启动
- 输入
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
- 启动Overture
systemctl enable overture
systemctl start overture
安装AdGuardHome
打开这个链接 ,找到 「AdGuardHome_linux_amd64.tar.gz」,下载到你的服务器上
例如:
cd /opt wget https://hub.fastgit.org/AdguardTeam/AdGuardHome/releases/download/v0.105.1/AdGuardHome_linux_amd64.tar.gz
解压
如:
tar -zxvf AdGuardHome_linux_amd64.tar.gz
安装
cd AdGuardHome ./AdGuardHome -s install
- 放行3000 853端口,这个自己去了解
- 打开 你的IP:3000 ,开始配置
- 第一个端口(默认3000),为web界面的访问端口,自己随意更改
- 第二个端口(默认53)为dns的默认端口,如果你不使用dns明文传输,建议改掉
- 接下来的账号密码设置自己搞一下
配置AdGuardHome
- 如果你overture配置文件使用的上方的,可以照抄,否则根据自己情况修改
DNS设置
修改上游dns服务器
- 点击 设置---DNS设置
- 输入
127.0.0.1:8953
- 点击「并行请求」
- 向下滑,点击「应用」
DNS服务设定
- 将「速度限制」改为
0
- 将 「使用客户端子网地址」勾选
- 点击「保存」
- 将「速度限制」改为
DNS缓存配置
- 缓存大小改为
0
- 覆盖最小TTL值改为
300
- 覆盖最大TTL值改为
7200
- 点击「保存」
- 缓存大小改为
加密设置
提示
- 点击 设置---加密设置
- 这里SSL证书需要自己申请,可以使用腾讯云的免费SSL
- 如果不会,参考腾讯云申请免费ssl证书(1年有效期)
- 勾选 「启用加密」
- 「填写需要使用的域名」
- 证书,选择「粘贴证书内容」,将ssl证书文件中以
.crt
结尾的文件用文本编辑软件打开,复制进去 - 私钥,选择「粘贴私钥内容」,将ssl证书文件中以
.key
结尾的文件用文本编辑软件打开,复制进去 - 点击「保存配置」
广告过滤规则配置
- 点击过滤器---dns封锁名单
- 点击「添加阻止列表」
- 点击「添加一个自定义列表」
- 名称输入
HalfLife
,也可以随意输入...... - URL输入
https://cdn.jsdelivr.net/gh/o0HalfLife0o/list@master/ad.txt
使用
- 点击 设置向导---DNS隐私
- 根据提示操作即可