科学上网 / 系统运维

玩转路由器:AdGuardHome安装,实现全网设备去广告和国内外分流

浅时光博客 · 12月18日 · 2023年 13142次已读

一、安装环境和准备工作

同样,本文紧密结合之前分享的关于 Redmi AX6000 路由器实现科学上网的内容。之前,我们也分享过另一篇关于 msodns 软件实现国内外流量分流的教程。您可以在以下链接查看之前的文章,然后与本文进行对比,选择适合您自建需求的软件。本文基于AdGuardHome实现国内外流量分流,并导入去广告规则以实现所有设备的广告拦截。然而,请注意,AdGuardHome的广告拦截效果比浏览器去广告插件的去广告能力弱很多(这个没办法,检测机制不一样)。

二、AdGuardHome介绍

AdGuard Home 是一种开源的网络广告和跟踪器拦截软件,它可以在您的家庭网络中拦截广告、恶意软件、跟踪器和其他有害内容。AdGuard Home 是一个 DNS 服务器,它通过过滤广告和追踪请求来防止它们被加载,从而使您的网络更加快速和安全。AdGuard Home 的主要功能包括:

  1. 广告拦截:AdGuard Home 可以有效地阻止广告在浏览器和应用中的显示,从而提高浏览速度。
  2. 隐私保护:AdGuard Home 可以拦截跟踪器和分析工具,从而保护您的隐私,同时防止恶意软件和恶意网站的攻击。
  3. 家长控制:AdGuard Home 允许您控制网络中的内容,阻止不良内容,同时允许您设置过滤规则和白名单。
  4. 跨平台支持:AdGuard Home 可以在多种操作系统上运行,包括 Windows、macOS、Linux 和树莓派等。

AdGuard Home 可以通过安装到您的家庭网络中的服务器来使用,从而拦截网络广告和其他不良内容,从而使您的网络更加高效和安全。

三、AdGuardHome安装

2.1:下载安装程序

注意:下载下来的程序文件解压然后传到路由器或者直接通过wget或者curl命令直接下载下来;下载下来的文件最后在PC端通过upx工具进行压缩,不然解压后的文件比较大,很占用路由器空间。UPX的使用可以查看下面文章里面关于UPX压缩的部分。

玩转路由器:AdGuardHome安装,实现全网设备去广告和国内外分流

程序包下载解压,然后通过UPX进行压缩之后,把执行文件上传到路由赋予执行权限即可。

玩转路由器:AdGuardHome安装,实现全网设备去广告和国内外分流

2.2:安装执行程序

# 把执行文件上传到 /data/AdGuardHome 目录下
mkdir -p /data/AdGuardHome/
cd /data/AdGuardHome/

# 添加执行权限
chmod +x AdGuardHome

# 执行安装,安装完成则自动启动
./AdGuardHome -s install

ss -tnlp|grep 3000
玩转路由器:AdGuardHome安装,实现全网设备去广告和国内外分流

2.3:配置端口转发ADG

转发53端口到ADG(这里我adg DNS监听端口设置为5353)

iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 5353
iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 5353
ip6tables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 5353
ip6tables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 5353

# 检查规则是否添加成功
iptables -t nat -C PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 5353 && echo "规则存在" || echo "规则不存在"
iptables -t nat -C PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 5353 && echo "规则存在" || echo "规则不存在"
ip6tables -t nat -C PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 5353 && echo "规则存在" || echo "规则不存在"
ip6tables -t nat -C PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 5353 && echo "规则存在" || echo "规则不存在"


# 也可以使用下面的命令检查规则是否存在
iptables -t nat -v --list 和 ip6tables -t nat -v --list

2.4:加入开机自启执行

~# vi /data/auto_ssh/auto_ssh.sh

/data/AdGuardHome/AdGuardHome -s install
/data/AdGuardHome/AdGuardHome -s start
iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 5353
iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 5353
ip6tables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 5353
ip6tables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 5353

四、AdGuardHome配置

2.1:访问引导页面

  • 浏览器输入 你的路由器IP:3000 进行访问
玩转路由器:AdGuardHome安装,实现全网设备去广告和国内外分流

管理端口为3000,dns监听端口设为5353

注:5353端口为 AdGuardHome 的 DNS 服务器监听端口(重要)

玩转路由器:AdGuardHome安装,实现全网设备去广告和国内外分流

后面就是下一步配置管理员账号、然后下一步保存打开登入仪表板就可以了,我就贴图了。

玩转路由器:AdGuardHome安装,实现全网设备去广告和国内外分流

注意:还有一些DNS的配置等相关的操作,我这里就不展开赘述了,大家可以自行网上搜索相关的资料。

2.2:配置去广告规则

为了更好地发挥 AdGuard Home 去广告的功能,仅依靠默认的过滤规则是不够的,但也不宜过多,过多的过滤规则会影响解析的速度

说明:不要选择网络上哪些多个规则源合集的规则,很容易导致网站无法运行;比如B站使用了那些合集的规则后导致看视频F12看到很多报错,内存一直飙升

OSID规则【推荐】

  • 官网:https://oisd.nl/
  • 简介:完整的列表阻止了广告、(移动)应用程序广告、网络钓鱼、恶意广告、恶意软件、间谍软件、勒索软件、加密货币劫持、诈骗 … 遥测/分析/跟踪(在不需要正常功能的地方)
  • 规则:AdGuard Home 网站(OISD Blocklist Full)
玩转路由器:AdGuardHome安装,实现全网设备去广告和国内外分流
玩转路由器:AdGuardHome安装,实现全网设备去广告和国内外分流

AdRules项目【推荐】

玩转路由器:AdGuardHome安装,实现全网设备去广告和国内外分流

说明:这是个人使用半年之后觉得还不错的规则,网上也可以查询到更多的规则,请自行进行下载配置。

五、国内外分流配置

1、下载域名列表

注意:这个项目提供了很多属于中国大陆的域名列表。这个文件是china list 转发到 dnsmasq,dnsmasq会自动使用pppoe拨号给的DNS;但是由于格式不兼容无法在AdGaurdHome中使用,我们需要对其进行转换。 使用sed命令我们可以很方便将其转化为AdGaurdHome所支持的格式

项目地址: https://github.com/felixonmars/dnsmasq-china-list
温馨提示: 为了保障您的账号安全,请绑定有效邮箱并验证账户。完成此步骤后,请在本页留言并刷新页面即可查看内容和下载资源。邮箱绑定


本文作者:浅时光博客
原文链接:https://www.dqzboy.com/16007.html
版权声明:知识共享署名-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)协议进行许可,转载时请以>超链接形式标明文章原始出处和作者信息
免责声明:本站提供的内容仅限于个人学习和研究使用;禁止将内容用于商业或非法用途。下载后请在24小时内彻底删除,否则后果由用户承担。访问和下载本站内容即表示您已同意上述条款 。

3 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!

  1. miikasa上海2024-1-19 · 20:23

    查看隐藏内容

  2. miikasa上海2024-1-19 · 10:42

    shellclash可以配合这几个组件吗

    • 浅时光博客2024-1-19 · 14:45

      可以的,shellclash上记得做下配置