在前前前前前前篇文章中,笔者详细解释了当前数据安全的主要威胁之一,DNS劫持与污染,事实上,这些的主要原因一个是采用了不正规的DNS,也有明文劫持的原因,但所幸,AdGuard软件有限公司旗下的开源项目,AdGuardHome则给了在黑客攻击下苦苦挣扎的我们一线曙光,通过在内网设备部署DNS下游的统合DNS,结束各设备各自为战,需要挨个设置,甚至不能设置加密DNS的困境。
话不多说,教程开始:
Woring,如果无法访问下方的网站,可以从alist.zhangchunqiao.top进行下载相关文件。
在OpenWRT上安装DDNS-GO
注意,如果想要使用AdGuardHome的DOT(dns-over-tls)与DOH(dns-over-https)的加密dns,必须要有域名,以便申请tls证书,这个时候,就有小可爱问我,欸老师,为啥咱们不直接用IP申请证书,而是必须要用域名呢?问得好,事实上,私有IP是不唯一的,而TLS证书则需要全网唯一的特征,这个时候,欸,域名就出现了,域名是全网唯一的特征码,这个时候CA机构就能发布证书给你了。
首先,打开openwrt,在输入账密后,打开软件包,进行软件包更新,在过滤器中输入ddns-go,并找到luci-i18n-ddns-go-zh-cn进行安装,如果没找到,就说明你的软件源不对,
更新软件源
安装luci-i18n-ddns-go-zh-cn,其他的会自动安装
src/gz immortalwrt_core https://mirrors.vsean.net/openwrt/releases/23.05.3/targets/x86/64/packages
src/gz immortalwrt_base https://mirrors.vsean.net/openwrt/releases/23.05.3/packages/x86_64/base
src/gz immortalwrt_luci https://mirrors.vsean.net/openwrt/releases/23.05.3/packages/x86_64/luci
src/gz immortalwrt_packages https://mirrors.vsean.net/openwrt/releases/23.05.3/packages/x86_64/packages
src/gz immortalwrt_routing https://mirrors.vsean.net/openwrt/releases/23.05.3/packages/x86_64/routing
src/gz immortalwrt_telephony https://mirrors.vsean.net/openwrt/releases/23.05.3/packages/x86_64/telephony
如果架构不对,如果是跟着我的教程安装的ImmortalWrt可以不用管,不对的可以查询自己的固件版本和架构进行修改尝试更新,23.05.3是ooenwrt的固件版本,x86_64是架构
安装完毕后,刷新网站,你就能看到ddns-go的luci界面了,点击启动,并点击保存并应用。点击打开wed界面,在输入账密进行加密后登陆后台,根据你的DNS服务商在哪,就选择哪个,至于token和key,大部分都会在购买域名或者迁移过去后发给你了,如果不知道的请去csdn,谢谢。
注意,一定要选择ipv4,ipv6会在公网被访问到,可能会因为dns未备案导致封宽带,根据各地运营商而异。
选择你的软路由结构的IP,是旁路由的内网ip,或者是主路由的内网IP。
在openwrt上安装AdGuardHome与内网无加密DNS配置(超长图文警告)
AdGuardHome配置
完成后需要你打开你的电脑,并打开电脑,打开浏览器,输入winSCP,找到官网,进行下载和安装,这个个人版是免费的,不用管他的收费。
winscp官网
下载期间再打开这个链接下载luci界面,选择luci-app-adguardhome_1.8-9_all.ipk文件下载
adguard home的luci界面
手动安装luci界面
将执行文件路径修改为/usr/bin/AdGuardHome
其次将工作目录修改为/usr/bin/bin
然后保存并应用。
这个时候winscp也该安装好了,打开他,并输入账密和切换通信协议为scp,并保存并登陆。
在usr/bin路径下,新建一个bin文件夹,并点击属性,授予其八进制0755权限,然后保存。
回到usr/bin路径中,在右侧打开你的浏览器下载目录,将AdGuardHome_linux_amd64.tar.gz解压,找到AdGuardHome文件,不要带后缀的,不要带后缀的!将它复制到usr/bin,然后打开属性,找到八进制表,修改权限为0777。
再来到/etc/config路径,找到uhttpd和uhttpd-opkg并右键——编辑——内部编辑器,将443换为444。
这两个文件
完成后再次回到openwrt的AdGuardHome的luci界面,打开手动设置,将 session_ttl: 后面的数字改为12m。
然后点到下方的name和password,name不加密,可以随意填入自己的名称,password则是加密的,需要回到基础设置滑倒最下方,选择修改登录密码,然后点击新增,之后上滑,找到修改登录密码,点击载入计算模块,输入你的密码,再点击计算,得到加密字符串后回到手动设置,将其粘贴到password中。
添加计算模块
在这里输入密码然后进行计算
随后点击启用,再点击保存并应用,并点击wed界面。
无加密DNS配置
进入后点击过滤器——DNS黑名单,将所有规则全部删除,随后点击添加黑名单——添加一个自定义列表,输入以下的链接
https://raw.githubusercontent.com/217heidai/adblockfilters/main/rules/adblockdns.txt
上方的名称可以随便写。
随后点击检查更新——注意,这两步需要特殊的网络环境,否则就会失败。
随后来到设置——DNS设置中,删掉所有上游DNS服务器,并加入以下服务器
https://dns10.quad9.net/dns-query
https://dns.adguard-dns.com/dns-query
https://unfiltered.adguard-dns.com/dns-query
https://doh.pub/dns-query
https://dns.alidns.com/dns-query
https://dns64.dns.google/dns-query
https://dns.google/dns-query
https://cloudflare-dns.com/dns-query
https://1.1.1.1/dns-query
https://1.0.0.1/dns-query
https://dns.quad9.net/dns-query
https://doh.dns.sb/dns-query
负载均衡和并行请求可以根据自己的喜好选择,我个人喜欢并行请求,因人而异。
后备DNS服务器添加为以下链接。
https://sm2.doh.pub/dns-query
https://doh.360.cn
随后删掉Bootstrap DNS 服务器里的所有IP。
点击测试上游,并应用。
随后,在下方的DNS服务配置中,启动DNSSEC和启用DNSSEC客户端子网,禁用ipv6的AAAA解析结果则根据自己的喜好和情况进行开启或关闭。
下方的DNS缓存配置则启用乐观缓存,缓存大小则是越大越好。
加密DNS配置
回到设置——加密设置,勾选启用加密。
服务器名称输入你刚刚在DDNS-GO上进行绑定IP的域名,端口可以随意更改,但尽量不要动DOH以外的端口,可能会导致DNS出错,这里以nw.zhangchunqiao.top为例。
随后,我们需要申请一个TLS证书进行加密,这里推荐使用FreeSSl.cn,他们家没有张数限制,可以申请无限多的TLS证书,这里是链接。
注册后会来到控制台,在这里点击证书列表——申请证书,之后点击申请单域名证书。
证书可以灵活配置,单域名只是比较安全
在这里输入需要证书的域名
无后缀是证书,有后缀是私钥
证书内容输入上面,私钥内容输入下面
小记
其实DNS重写与自定义过滤规则可以作为管控小孩子上网的一种方式,比如在DNS重写中填入*.baidu.com,IP为127.0.0.1,就可以过滤掉全部的百度服务,具体情况可以自己摸索,本教程仅供参考,起到一个抛砖引玉的作用,欢迎各位大佬在评论区里答疑解惑,咱们下期见。#网络故障# #网络维护# #出动!证件指导#
更多游戏资讯请关注:电玩帮游戏资讯专区
电玩帮图文攻略 www.vgover.com