站长资源网

自建无污染DNS,解决DNS污染网站无法访问

继steam商店被间歇性屏蔽后,中国移动现在对steam客户端也开始了屏蔽,不论使用什么国内DNS都无法登录steam客户端,只有更换海外DNS才能正常登录。但是海外DNS在国内使用体验并不好,于是我便萌生了自建DNS的想法,通过国内外分流,让国内网站使用国内DNS解析,海外网站使用海外DNS解析。

准备

1.一台国内VPS

2.一台海外VPS(推荐香港VPS,延迟低)

3.基本的Linux使用能力

具体实现

原理

这里,我在海外VPS和国内VPS各搭建了一个AdguardHome,国内VPS使用overture进行国内外分流,海外VPS搭建的AdguardHome作为国内VPS的overture的上游,overture作为国内VPS的AdguardHome的上游,客户端连接国内vps的AdguardHome

自建无污染DNS,解决DNS污染网站无法访问

之所以使用海外VPS搭建的AdguardHome作为overture的上游,是因为GFW对海外DNS存在屏蔽,使用海外VPS搭建的AdguardHome作为上游可以起到代理的作用

海外DNS的准备

SSH进海外VPS

先搭建AdguardHome

curl -sSL https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh

搭建完成后访问http://IP:3000就可以来到主界面了

在【设置】-【DNS】中填入海外DNS

自建无污染DNS设置海外DNS

这里我用的是谷歌和CF的DNS

之后点击【设置】-【加密】,并启用加密

在服务器名称中填入解析到这个VPS的域名

HTTPS端口可以保留默认,但如果端口被nginx占用的话可以修改成其他的,例如我改成了1599端口

在证书中填入你的SSL证书,这里我用的是免费letsencrypt证书,当然也可以去腾讯云,阿里云等申请免费亚洲诚信证书

自建无污染DNS申请证书

至此,海外DNS的准备已经完成

点击【设置指导】,查看你的doh地址(https开头的那个)

国内外分流

请自行准备好代理,如果不想在服务器安装v2ray的话可以使用gg

来到国内VPS,安装overture

mkdir /opt/overture
cd /opt/overture
wget https://github.com/shawn1m/overture/releases/download/v1.8/overture-linux-amd64.zip
unzip overture-linux-amd64.zip

然后添加一下进程守护

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=always
[Install]
WantedBy=multi-user.target

下载国内IP库

curl -s https://raw.githubusercontent.com/17mon/china_ip_list/master/china_ip_list.txt > china_ip_list.txt

下载GFW库

curl https://raw.githubusercontent.com/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.githubusercontent.com/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 gfwlist.txt  koolshare.txt

修改配置文件

vi config.yml

修改为以下内容(记得将https://example.com/dns-query改成你自己的doh地址)

bindAddress: :5353
debugHTTPAddress: 127.0.0.1:5555
dohEnabled: false
primaryDNS:
  - name: Ali DNS
    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: AdGuardHome DNS
    address: https://example.com/dns-query
    protocol: https
    socks5Address:
    timeout: 6
    ednsClientSubnet:
      policy: auto
      externalIP:
      noCookie: true
onlyPrimaryDNS: false
ipv6UseAlternativeDNS: false
alternativeDNSConcurrent: false
whenPrimaryDNSAnswerNoneUse: primaryDNS
ipNetworkFile:
  primary: /opt/overture/china_ip_list.txt
  alternative: ./ip_network_alternative_sample
domainFile:
  primary: ./domain_primary_sample
  alternative: /opt/overture/gfw_list.txt
  matcher: suffix-tree
hostsFile:
  hostsFile: ./hosts_sample
  finder: full-map
minimumTTL: 0
domainTTLFile: ./domain_ttl_sample
cacheSize: 0
cacheRedisUrl:
cacheRedisConnectionPoolSize:
rejectQType:
  - 255

之后启动overture即可

systemctl start overture
systemctl enable overture

国内DNS搭建

搭建完overture后,就可以继续在国内VPS搭建AdguardHome了

curl -sSL https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh

搭建完后在DNS配置里设置好DNS

国内DNS搭建

务必将dns设置为127.0.0.1:5353,这样才能使用上边搭建的overture作为上游

之后在【设置】-【加密】中设置好域名和证书即可,因为和海外VPS的配置方式一样,就不过多叙述了

至此,无污染DNS就搭建完成了

DNS的使用

浏览器

自建DNS的使用-浏览器

填入DOH URL即可

安卓手机

自建DNS的使用-安卓手机

填入DOT域名即可

如果出现无法连接的情况,请更换ssl证书。letsencrypt.org的免费证书可能无法被miui识别,可以更换为亚洲诚信的免费证书

结尾

自建无污染DNS

在完成配置后,没有挂代理的情况下也可以正常打开duckduckgo,steam客户端也能正常登录

本文是【自建DNS解析服务教程,教你如何解决DNS污染】的重写版,将国内外分流改成了服务器分流,更加合理,但是也删除了去广告相关的配置,如有需要,可以查看原文章。


若无特别声明,本文中资源的解压密码是:www.ziyuan22.com

从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!

本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究【常见问题】。

本站资源仅供学习和交流使用,版权归原作者所有,请在下载后24小时之内自觉删除。

若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。

如有侵犯你版权的,请来信(邮箱:ziyuan22@foxmail.com)指出,本站将立即改正。

发表评论 取消回复

您需要 登录账户 后才能发表评论

还没有评论,快来说点什么吧~