> For AI agents: the site index is available at https://www.juniortree.com/llms.txt; this page is available as Markdown at https://www.juniortree.com/blog/smartdns-adguard-home.md.
> iStore 结合 SmartDNS 和 AdGuard Home 实现 DNS 优化与广告拦截

## Page metadata

- **Published:** 2024-07-30
- **Updated:** 2024-07-30
- **Tags:** 计算机
- **Source URL:** https://www.juniortree.com/blog/smartdns-adguard-home

# IStore 实现 SmartDNS + AdGuard Home IP 优选+广告屏蔽

> 参考自 [openwrt 官方版 安装配置 AdGuard Home + smartdns 告别广告烦扰 教程 软路由实测 系列五](https://blog.csdn.net/tonyhi6/article/details/139212440)

SmartDNS 和 AdGuard Home 都是用于优化 DNS 解析和提供广告拦截功能的工具，但它们各自有不同的特点和用途：

## SmartDNS

1. **主要功能**：
   - 提供 DNS 解析服务，旨在加速互联网访问和绕过地理限制。
   - 支持智能 DNS 缓存和解析，优化网站加载速度。
   - 通过配置不同的 DNS 服务器来提高解析效率和稳定性。
2. **特点**：
   - **速度优化**：通过选择最佳的 DNS 服务器来提升访问速度。
   - **跨地域访问**：能够帮助绕过地理限制，使用户可以访问受限内容。
   - **简易配置**：通常提供用户友好的配置界面和说明。

## AdGuard Home

1. **主要功能**：
   - 提供 DNS 解析服务，并附带广告拦截和隐私保护功能。
   - 支持对 DNS 请求进行过滤，阻止广告、恶意软件和跟踪器。
   - 具备用户自定义规则和白名单功能，允许精确控制过滤内容。
2. **特点**：
   - **广告拦截**：内置广告拦截功能，有效阻止网页和应用中的广告。
   - **隐私保护**：保护用户免受跟踪器的侵扰，增强隐私安全。
   - **易于配置和管理**：通过 Web 界面提供友好的管理和配置功能。
   - **扩展性**：支持自定义过滤规则和黑名单/白名单设置，满足个性化需求。

## 结合使用

- **SmartDNS** 可以用于提高 DNS 解析速度和访问受限内容，而 **AdGuard Home** 则可以提供额外的广告拦截和隐私保护。
- 在配置上，您可以将 **SmartDNS** 作为 AdGuard Home 的上游 DNS 服务器，结合两者的优点，提升网络体验和保护。

本教程旨在同时使用**SmartDNS**与**Adgurad Home**来优化网络环境。

## 安装与配置 SmartDNS

在这里我使用**iStore**来安装**SmartDNS**：

![](https://pic.050613.xyz/2024/11/5cfa602d3f56f31ae8aa5062bec30ef9.png)

安装完成之后我们继续配置：

![](https://pic.050613.xyz/2024/11/d7bf9d442e72944889f477785854459d.png)

缓存大小可以填大一点，有助于减小上游 DNS 请求的数量，尤其是现在阿里云的公共 DNS 限制 QPS，SmartDNS 的缓存策略有助于帮我们避免限制：

![](https://pic.050613.xyz/2024/11/fbaa42316a6eb6557b2f434c0e4e5ce0.png)

继续往下填写上游 DNS 服务器，这里是**SmartDNS**请求的上游服务器，可以多填一点：

![](https://pic.050613.xyz/2024/11/006a9973bd1b5b7bc64e1fa3d5ab79b0.png)

下面是我自己所使用的一些公共 DNS 服务器，尽量使用一些 `DoT` 或者 `DoH` 协议的 DNS 服务，能够避免挟持

```
https://dns10.quad9.net/dns-query
https://dns.google/dns-query
https://1dot1dot1dot1.cloudflare-dns.com/
dns.google
cloudflare-dns.com
dns.alidns.com
dot.pub
https://dns.alidns.com/dns-query
https://223.5.5.5/dns-query
https://223.6.6.6/dns-query
```

这时候我们可以通过 `nslookup` 指令来测试**SmartDNS**服务的可行性：

![](https://pic.050613.xyz/2024/11/e4010cb4a42e425b926d66f98cdb2875.png)

## 安装与配置 AdGuard Home

在这里我们不使用 Docker，直接使用 `opkg` 包管理器安装：

```bash
opkg update
opkg install adguardhome
#启动
/etc/init.d/adguardhome start
/etc/init.d/adguardhome enable
```

此时我们可以通过 `http://IP:3000` 进入管理界面

在正式配置**AdGuard Home**之前，我们要修改原 DNS 服务器的 `53` 端口出来给**Adguard Home**：

![](https://pic.050613.xyz/2024/11/0ef222a04098d7ae5daf9cea20024763.png)

![](https://pic.050613.xyz/2024/11/396c2420b4cf79be4ee79d4a6e395722.png)

![](https://pic.050613.xyz/2024/11/fa9b6c61cf38a4cc6861d2ac6aaca7b4.png)

此时回到**AdGuard Home**配置主页就可以使用 `53` 端口，但是由于 `80` 端口被**iStore**占用，你可以使用 `3001` 端口代替，之后配置**AdGuard Home**上游服务器，由于**SmartDNS**的监听端口被替换成 `8053`，删除其他的 DNS 服务器，在这里我们使用**显式声明**：

![](https://pic.050613.xyz/2024/11/fa0282ceee11349112e443448937a45a.png)

因为**SmartDNS**具备缓存的功能，因此**AdGuard Home**不需要缓存，在这里全删掉留空即可：

![](https://pic.050613.xyz/2024/11/e4042446da17ad6a9a8815cee0fc91db.png)
