ts2112774 发表于 2022-11-3 20:42

ESXI-独立部署AdGuardHome与OpenWrt配置教程

本帖最后由 ts2112774 于 2022-11-3 20:42 编辑

介绍
AdguardHome 即可成为广告过滤器,也可成为监控内网客户端行为的工具,通常大多数人使用的是openwrt中内置adg,本教程的目的是将openwrt与adguardhome彻底分开让你如何折腾软路由而不去影响你的ADG,我觉的这样效率上也比集成在一起更好。使用逻辑上也更符合ADG官方的说明。
教程教程采用的是EXSI 虚拟化环境,openwrt只是其中一个虚拟机,而我们要做的是再新建一个centos7的虚拟机,用于单独安装并运行adguardhome最后将openwrt的DNS指向这台安装有adguardhome的虚拟机IP实现分离。教程中很多内容是普适性的,但需要结合实际去操作,例如虚拟机,你也许会使用hyper-v,也许你有一台VPS,或着你有一台实体机直接装centos7这些都不重要,重要的是,你需要有一个centos7系统,去装adguardhome,而路由器的部分指向这个IP即可。
1、新建虚拟主机新建exsi虚拟主机,1CPU 1G内存 4G硬盘
使用centos7 x64 镜像


修改引导方式为efi,加快启动速度

2、安装centos7IP配置为手动,避免DHCP随机修改IP,避免未来不可预见的路由故障导致DNS无法访问





安装过程中设置ROOT密码

3、安装AdGuardHome
关闭防火墙#停止防火墙
systemctl stop firewalld.service
#禁止防火墙开机启动
systemctl disable firewalld.service
#关闭防火墙
systemctl stop firewalld
官方一键安装脚本

#安装
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
#重装
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v -r
#卸载
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v -u

#使用此方式安装成功后,默认就是开机自启
#以下为一些操作指令
sudo /opt/AdGuardHome/AdGuardHome -s start|stop|restart|status|install|uninstall#鉴于一些众所周知的原因,一键安装脚本,有时候会出错,以下为手动安装方式
#官网
https://github.com/AdguardTeam/AdGuardHome
#下载此版本
AdGuardHome_linux_amd64.tar.gz

#安装wget
yum install -y wget

#把下载下来的包,放到一个你能访问的路径,并在centos7中下载下来
wget http://192.168.1.10/openwrt/AdGuardHome_linux_amd64.tar.gz

#解压
tar -zxvf AdGuardHome_linux_amd64.tar.gz

#进入AdGuardHome目录
cd AdGuardHome

#安装
./AdGuardHome -s install

#启动
systemctl start AdGuardHome
#开机自启
systemctl enable AdGuardHome
#重启
systemctl restart AdGuardHome
#停止
systemctl stop AdGuardHome
访问地址为:http://192.168.1.26:3000此为之前设置的静态IP地址+3000端口号

4、配置AdGuardHome熟悉的界面,一样的味道

小白再也不用纠结这里的配置,一切默认因为是新装centos7,纯净系统,80端口未占用,配置到这里,ADG默认为80端口了以后访问,直接 http://IP 就可以直接访问

设置你的管理帐号密码

此后2步依然是直接下一步如果想修改登录帐号,请编辑这个文件

老鸟,应该熟悉这个文件,你可以把openwrt中使用的adg配置,复制过来,省时省力我这里避免有问题和写教程,彻底重新配置的。编辑完成后重启服务
systemctl restart AdGuardHome


4.1 DNS设置部分
仅更改DNS设置,其它页面的设置为默认即可

设置上游DNS,前2行为你所在地区 运营商的DNS,后面4个,你可以照抄运营商DNS怎么获取,你百度下吧,你如果不填写,只填写下面4行,也能用其它设置默认就行



4.2 过滤器设置
主要就是拦截列表,规则请找适合DNS拦截的规则前2个,是我内网上放的自写规则,稍后我会放出其它的可以照抄,全是比较知名的规则。不巧的是,我装的时候正好赶上github的raw静态资源全面无法访问了,有梯也不行,所以后3个没更新没开。

QuarkList https://fastly.jsdelivr.net/gh/f ... /dist/quarklist.txt来源:https://n2o.io/lab/quarklist/
AdRules DNS List https://gitlab.com/cats-team/adrules/-/raw/main/dns.txt 来源:https://github.com/Cats-Team/AdRules
OISD Blocklist Full https://abp.oisd.nl/ 来源:https://oisd.nl
WindowsSpyBlocker - Hosts spy rules https://raw.githubusercontent.co ... /data/hosts/spy.txt 来源:https://github.com/crazy-max/WindowsSpyBlocker
WindowsSpyBlocker - Hosts extra rules https://raw.githubusercontent.co ... ata/hosts/extra.txt 作用:反间谍拦截,主要是拦截一些自动上报个人信息的一些,例如微软的,对普通用户而言,至少可以节省流量吧,这3种规则,不大很小,不影响性能
WindowsSpyBlocker - Hosts update rules https://raw.githubusercontent.co ... ta/hosts/update.txt


自定义规则
host规则,navicat系列软件激活防检测,屏蔽微软EDGE自动安装
0.0.0.0 activate.navicat.com
0.0.0.0 msedge.b.tlu.dl.delivery.mp.microsoft.com
白名单,解决微软帐号登录,例如OUTLOOK,京东页面,具体的自己看吧,我建议使用,以下与广告无关
@@||360buyimg.com^$important
@@||events.gfe.nvidia.com^$important
@@||textlink.simba.taobao.com^$important
@@||nuget.org^$important
@@||visualstudio.com^$important
@@||microsoft.com^$important

@@||apple.com^
@@||outlook.live.com^
@@||login.live.com^
@@||logincdn.msauth.net^
@@||login.microsoftonline.com^
@@||outlook.office.com^
@@||data.bilibili.com^
以下规则网上摘抄的,使用很久了,主要还是小米设备去广告,好像还有IOS OTA屏蔽部分,前面我加白了,下面就懒的再筛了。
||ad.mi.com^
||ad.xiaomi.com^
||ad1.xiaomi.com^
||appstore.cdn.pandora.xiaomi.com^
||appstore.pandora.xiaomi.com^
||api.ad.xiaomi.com^
||ad.doubleclick.net^
||bss.pandora.xiaomi.com^
||b.netcheck.gallery.pandora.xiaomi.com^
||broker.mqtt.pandora.xiaomi.com^
||config.kuyun.com^
||dvb.pandora.xiaomi.com^
||de.pandora.xiaomi.com^
||data.mistat.xiaomi.com^
||f1.market.xiaomi.com^
||f2.market.xiaomi.com^
||f3.market.xiaomi.com^
||f4.market.xiaomi.com^
||f5.market.xiaomi.com^
||f1.market.mi-img.com^
||f2.market.mi-img.com^
||f3.market.mi-img.com^
||f4.market.mi-img.com^
||f5.market.mi-img.com^
||file.xmpush.xiaomi.com^
||gvod.aiseejapp.atianqi.com^
||g.dtv.cn.miaozhan.com^
||gallery.pandora.xiaomi.com^
||jellyfish.pandora.xiaomi.com^
||logonext.tv.kuyun.com^
||mishop.pandora.xiaomi.com^
||milink.pandora.xiaomi.com^
||misc.pandora.xiaomi.com^
||mitv.tracking.miui.com^
||metok.sys.miui.com^
||new.api.ad.xiaomi.com^
||pandora.mi.com^
||redirect.pandora.xiaomi.com^
||register.xmpush.xiaomi.com^
||resolver.msg.xiaomi.net^
||r.browser.miui.com^
||stat.pandora.xiaomi.com^
||sdkconfig.ad.xiaomi.com^
||staging.ai.api.xiaomi.com^
||tracking.miui.com^
||tv.weixin.pandora.xiaomi.com^
||tvmanager.pandora.xiaomi.com^
||tvmgr.pandora.xiaomi.com^
||tat.pandora.xiaomi.com^
||t7z.cupid.ptqy.gitv.tv^
||upgrade.mishop.pandora.xiaomi.com^
||v.admaster.com.cn^
||xp.apple.com^
||mesu.apple.com^
||gdmf.apple.com^
||ocsp.apple.com^
||appldnld.apple.com^
||world-gen.g.aaplimg.com^
||active.tc.skysrt.com^
||ad.3.cn^
||admaster.com.cn^
||alog.umeng.com^
||amdcopen.m.taobao.com^
||api.app.skysrt.com^
||api.device.skysrt.com^
||api.hoisin.hw.coocaatv.com^
||api.home.skysrt.com^
||api.skyworthiot.com^
||api.upgrade.skysrt.com^
||api-app.coocaa.ottcn.com^
||api-home.coocaa.ottcn.com^
||api-home.skysrt.com^
||api-upgrade.coocaa.ottcn.com^
||app.snm0516.aisee.tv^
||btrace.play.t002.ottcn.com^
||business.video.tc.skysrt.com^
||cl-dl.cc0808.com^
||clog.skysrt.com^
||conf-darwin.xycdn.com^
||connect.play.aiseet.atianqi.com^
||data-dl.skysrt.com^
||data-hoisin.coocaa.com^
||dl.skysrt.com^
||dp3.play.t002.ottcn.com^
||gs.getui.com^
||hoisin.coocaa.com^
||hoisin.coocaatv.com^
||irs01.com^
||kaola.com^
||livep.l.t002.ottcn.com^
||log.skysrt.com^
||mdp-at.geely.com^
||member.coocaa.com^
||miaozhen.com^
||mtrace.play.t002.ottcn.com^
||ocsp.int-x3.letsencrypt.org^
||p.tencentmind.com^
||play.t002.ottcn.com^
||push.tc.skysrt.com^
||push.tvos.skysrt.com^
||puui.qpic.cn^
||qr.coocaa.com^
||res.hoisin.coocaatv.com^
||rpc-tc.skysrt.com^
||rpt-gdt.play.t002.ottcn.com^
||s.jpush.cn^
||sdk1xyajs.data.p2cdn.com^
||sis.jpush.io^
||sky.tvos.skysrt.com^
||skyworthdigital.com^
||skyworthiot.com^
||stats.jpush.cn^
||status.tvos.skysrt.com^
||status2.tvos.skysrt.com^
||sv.video.qq.com^
||taps.net^
||tq.skysrt.com^
||tracker.appadhoc.com^
||tvapp.hpplay.cn^
||tvos.skysrt.com^
||tx.ctrmi.cn^
||umengacs.m.taobao.com^
||uop.umeng.com^
||update01.skyworth-cloud.com.wswebpic.com^
||update01.skyworth-cloud.com^
||vqq.admaster.com.cn^
||webapp.skysrt.com^
||bak.bajintech.com^$important^
||iwd.skysrt.com^$important^
||ipv4only.arpa^$important^
||api.bajintech.com^$important^
||wifimodule.doubimeizhi.com^$important^
||msy59wz.mqtt.iot.gz.baidubce.com^$important^
||i.ytimg.com^$important^
||acc.qq.com^$app=com.tencent.qqlive
||bandisoft.com^
||navicat.com^

#百度隐私跟踪
||activity.baidu.com^$important
||pae.baidu.com^$important
||udpolimeok.baidu.com^$important
||ext.baidu.com^$important
||mime.baidu.com^$important
||sepro.baidu.com^$important
||fxgate.baidu.com^$important
||pcrec.baidu.com^$important
||suggestion.baidu.com^$important
||usug.baidu.com^$important
||haoma.baidu.com^$importan

#B站隐私收集
||bigfun.cn^$important
||biligame.com^$important
||activity.hdslb.com^$important
||www.iconcgo.com^$important
以上规则,3种自定义可以全复制在一起,填写到自定义规则那一页面内,即可生效。
4.3 DNS重写
这也是比较重要的功能了,我很常 用的功能,其它地址都是我内网中一些服务,我自定义的域名,在内网中进行访问留下来一条,可以照抄,用于修复chrome google翻译的。你理解为host重定向就好

到此ADG的配置部分结束


五、配置openwrt
第1处修改
第2处修改 LAN口

第3处修改 LAN口 DHCP,注意 是6, ADGIP的格式,文本框下有openwrt填写案例提示

第4处修改 WAN口

我的防火墙这里是空的,之前用openwrt内置的adg,用重定向53的方式 ,这里留空了,改成独立ADG后,这里为空,无影响

openwrt 配置部分结束现在随意访问访问,看看客户端排行列表中是否能识别出,各个客户端

如果无论怎么访问,只能显示192.168.1.1也就是路由器一个客户端,那请检查上面4处是否都修改了另外设备本身DNS是有缓存的,例如你的电脑,可以尝试禁用以太网适配器,重新启用以太网适配器,它识别到的DNS就会成为你ADG的地址了,win10 如图


至此,整个教程结束。

从重装完ADG,到编辑完帖子,ADG已经有这么多条数据了。家里内网设备数据量还是蛮大的。




openwrt 我使用的固件:https://www.right.com.cn/forum/thread-3663326-1-1.html


如有错误,欢迎指正。

badcrazy 发表于 2022-11-3 20:49

esxi会损失10%左右的性能,你这样效率可能还不如实机跑op,op直接运行adh
另外这个用法和op直接运行adh并且把adh作为dnsmasq上游也没区别啊?

ts2112774 发表于 2022-11-3 21:06

badcrazy 发表于 2022-11-3 20:49
esxi会损失10%左右的性能,你这样效率可能还不如实机跑op,op直接运行adh
另外这个用法和op直接运行adh并且 ...

不敢苟同。ESXI是刚需,不可替代的,我ESXI上虚拟着N个系统呢,ADG和OP只是其中之一罢了。
性能损失是感觉不到的,又不是拿实体路由器那种低性能的硬件去跑服务。我这是服务器啊。X86的服务器。随便跑软路由 ADG。不存在性能上出现问题的。
ADG与OP独立部署的意义在于,ADG可以再也不用动它了。想折腾路由时换固件,随意换,换完只要把DNS指向ADG的IP即可。

badcrazy 发表于 2022-11-3 21:16

ts2112774 发表于 2022-11-3 21:06 static/image/common/back.gif
不敢苟同。ESXI是刚需,不可替代的,我ESXI上虚拟着N个系统呢,ADG和OP只是其中之一罢了。
性能损失是感 ...

性能损失是客观存在的,性能高你感觉不到而已,但是你既然要提效率,就必须要考虑性能损失问题了,你这样只是为了独立互不干扰,但并不是说效率就能更高

badcrazy 发表于 2022-11-3 21:20

ts2112774 发表于 2022-11-3 21:06 static/image/common/back.gif
不敢苟同。ESXI是刚需,不可替代的,我ESXI上虚拟着N个系统呢,ADG和OP只是其中之一罢了。
性能损失是感 ...

顺带一说,你把adh程序和配置从bin和etc里移出来放到系统分区以外,比如我放在opt下面,刷机前备份系统,刷完机恢复备份,adh就ok了,也不必重新设置

ts2112774 发表于 2022-11-3 21:21

badcrazy 发表于 2022-11-3 21:16
性能损失是客观存在的,性能高你感觉不到而已,但是你既然要提效率,就必须要考虑性能损失问题了,你这样 ...

我觉的你拿虚拟机谈性能损失,本身就没意义,谁都知道任何服务虚拟机都会存在性能损失。
重点是虚拟化是刚需,玩虚拟机的人少则4 5个服务,多着几十个,每一种服务都要实机去跑是根本不可能的。
另外硬件性能相对爆炸的情况下,你所说的性能损失根本就无限等于0。
对于OP和ADG来说,拿服务器去跑,硬件性能已经严重溢出。

ts2112774 发表于 2022-11-3 21:28

badcrazy 发表于 2022-11-3 21:20
顺带一说,你把adh程序和配置从bin和etc里移出来放到系统分区以外,比如我放在opt下面,刷机前备份系统, ...

只能说这个贴不适合你罢了。玩ESXI的人自然懂。一切服务杂糅在一起是不可接受的。:) 这就跟软件开发中明明可以通过继承或定义接口去分割模块的代码非要被写在一个类里,每次更新代码还要把所有用过的模块都要写到新的代码里一样。

badcrazy 发表于 2022-11-3 21:30

ts2112774 发表于 2022-11-3 21:21 static/image/common/back.gif
我觉的你拿虚拟机谈性能损失,本身就没意义,谁都知道任何服务虚拟机都会存在性能损失。
重点是虚拟化是 ...

我只是针对你说的分开效率更高来说的,你也没说一开始就在用esxi,给我的感觉就是本来实机跑op的,为了分开跑特地去改用esxi跑两个虚拟机

ts2112774 发表于 2022-11-3 21:36

badcrazy 发表于 2022-11-3 21:30
我只是针对你说的分开效率更高来说的,你也没说一开始就在用esxi,给我的感觉就是本来实机跑op的,为了分 ...

看标题呀,ESXi下的独立部署教程。主题就是ESXI独立部署。
拿实机跑OP,是不会有人这么做的。至少X86的服务器独立跑OP。应该没有人会这么做吧。那还不如买个路由刷OP了。
虚拟化无论是个人还是企业已经是不可或缺的技术了,跑低性能损耗的应用,例如软路由,这是不存在性能问题的,这个没什么辩驳的。是事实。
另外ESXI独立部署ADG的好处还不仅于此,如果单纯为了备份配置方便,那就太小意思了。
OP玩腻了,换个别的什么路由系统,DNS指向到ADG的IP,也是一样的。互不干扰。

badcrazy 发表于 2022-11-3 21:38

ts2112774 发表于 2022-11-3 21:28 static/image/common/back.gif
只能说这个贴不适合你罢了。玩ESXI的人自然懂。一切服务杂糅在一起是不可接受的。 这就跟软件开发中明 ...

只是理念不同罢了,你们喜欢esxi搞all in one,我喜欢玩分立而已,nas是nas,软路由就是软路由,想更新哪个硬件就换了,不是比all in one还彻底的分离?但是我喜欢任何事情都做到最精简,比起模块分立,模块更少不是更好吗?我不喜欢为了1,2个功能就多搭个系统玩套娃,除非你的adh能脱离op给其他系统当nas,否则既然op不工作时候adh也不能工作,那么每次更新时候让adh下线一会又有什么关系,比起你另外搭个系统跑adh,我不过是把adh移出系统分区,除了你op更新的时候还能打开adh界面而我不行以外,有什么实际损失吗?那么更简单的做法不是更有效率?

badcrazy 发表于 2022-11-3 21:42

ts2112774 发表于 2022-11-3 21:36 static/image/common/back.gif
看标题呀,ESXi下的独立部署教程。主题就是ESXI独立部署。
拿实机跑OP,是不会有人这么做的。至少X86的 ...

不存在吗?千兆网卡变950m,这就是损失,至于你在意不在意是另外一回事,既然你也明白是我误会了,那就没必要再争论了

liweijun21 发表于 2022-11-3 21:45

我请教一下客户端adg使用,那么还想使用“师夷长技以制夷”又怎么配置dns

ts2112774 发表于 2022-11-3 21:53

liweijun21 发表于 2022-11-3 21:45
我请教一下客户端adg使用,那么还想使用“师夷长技以制夷”又怎么配置dns

你想使用的功能与ADG没有关系也互不影响。DNS需要设置的几个地方,教程中已经附图。

stuart2008 发表于 2022-11-3 22:39

本帖最后由 stuart2008 于 2022-11-3 22:44 编辑

请教下,如果adg ip后带端口号的openwrt中该怎么设置,我的时192.168.1.50:55,除了DNS转发中可以设置192.168.1.50#55外,其他地方的设置中都不能带端口号

ts2112774 发表于 2022-11-3 23:02

stuart2008 发表于 2022-11-3 22:39
请教下,如果adg ip后带端口号的openwrt中该怎么设置,我的时192.168.1.50:55,除了DNS转发中可以设置192.1 ...

把ADG作为DNS服务器代替openwrt的运作本质搞明白,你才能知道问题出在哪,DNS的默认端口是53,无论是openwrt还是adg,都是这个端口,我教程中独立部署在不同系统,所以不存在占用的情况,通过教程中第5章的部分,指定DNS的IP,它会访问指定 IP的53端口作为DNS服务器入口。openwrt集成了adg的这种情况,由于默认53被openwrt占用,你首次启用adg时,配置端口53显然就无法使用了。而你设置成了55,此时你不需要手动去改openwrt相关DNS设置,只需要在adg的那个openwrt的设置页面设置重定向就行了,它会自动修改路由内相关设置。防火墙那里有53优先,你不懂调整的话。我建议你清空防火墙避免影响。
页: [1] 2
查看完整版本: ESXI-独立部署AdGuardHome与OpenWrt配置教程