重定向规则(Redirect)用法 —— 把被拦域名改送到指定 IP
Redirect 是什么
Redirect 规则把指定域名的 DNS 请求重定向到你指定的任意 IP 地址——不是默认的 127.0.0.1 或 0.0.0.0,而是你想送的任何 IP。
这和 hosts 文件里的规则本质一样:hosts 本身就是"域名 → IP"的映射。AdAway 生成的 hosts 文件里,拦截规则写的是 127.0.0.1 域名,而 Redirect 规则写的是 <你指定的IP> 域名。
三类规则的区别
| 规则 | 效果 | hosts 文件产物 |
|---|---|---|
| hosts 源拦截 | 域名 → 127.0.0.1 或 0.0.0.0 | 127.0.0.1 xxx.com |
| Blocklist | 域名 → 127.0.0.1(强制拦截) | 127.0.0.1 xxx.com |
| Redirect | 域名 → 你指定的 IP | 111.222.1.1 xxx.com |
| Allowlist | 域名 → 正常解析(放行) | 不写入 hosts |
Redirect 的优先级高于 hosts 源的拦截规则——如果同一个域名既在某个 hosts 源里被拦(block),又在 Redirect 里被重定向(redirect),AdAway 会用 redirect 规则。
什么时候用 Redirect
场景 1:中国重定向列表
这是 Redirect 最经典的应用场景。
Google、Facebook、YouTube 这些服务在国内无法直连,但很多 hosts 源(包括 AdAway 官方 hosts)会把它们当成"跟踪域名"加入拦截列表。结果是 国内用户加了 AdAway 后,连本来可以用的国内镜像也访问不了了。
解决方式:用 Redirect 规则把这些域名重定向到"可解析的国内 IP"。GitHub Wiki 的 HostsSources 页面列出了几个社区维护的"中国重定向列表"hosts 源,加进去就自动生效。
场景 2:自建内网服务
你有一个自建的小服务(比如 NAS、博客),想让手机也走内网 IP 访问,不想每次都切 WiFi 手动改 hosts。把你的域名加进 Redirect 指向内网 IP,一次配置永久生效。
场景 3:测试/调试
开发 APP 时,想把某个 API 域名定向到测试服务器,不用改 APP 代码也不用搭建代理——Redirect 直接搞定。
添加 Redirect 规则
- AdAway 主菜单 → 重定向列表(Redirection List)
- 点右上角 +
- 输入两个字段:
- 主机名:要重定向的域名(比如
google.com) - IP 地址:要送的目标 IP(比如
111.222.1.1)
- 保存
可以用通配符,比如 *.google.com → 111.222.1.1 重定向所有 Google 子域名。
Redirect 和 Blocklist 的本质区别
两者都在写 hosts 文件:
| 维度 | Blocklist | Redirect |
|---|---|---|
| hosts 产物 | 127.0.0.1 xxx.com | <自定义IP> xxx.com |
| 效果 | 请求送回自己(空响应) | 请求送到指定服务器 |
| 对 APP 的影响 | APP 收到空/拒绝响应 | APP 可能收到正确响应(取决于目标 IP 的服务器) |
| 适合 | 拦截广告 | 重定向到替代服务器 |
Redirect 不应该用来拦广告——如果某个广告域名被 Redirect 到一个还在提供广告的服务器上,你等于没拦到。Redirect 的本质是"替换 DNS 目标",不是"拦截"。
Hosts 源里的 Redirect 规则
除了自己加,某些 hosts 源本身就包含重定向规则(IP 不是 127.0.0.1/0.0.0.0 的那些行)。AdAway 解析时会自动识别这些为重定向规则。
要让 AdAway 接受 hosts 源里的重定向规则,需要在 偏好设置 里打开:
允许来自 Hosts 源的重定向规则(Allow redirection rules from hosts sources)
默认关闭。打开后 hosts 源里的非 127.0.0.1/0.0.0.0 行会被识别为重定向规则并应用。
安全警告
Redirect 规则是 三种自定义规则里最危险的一种:
- 恶意 hosts 源可能把银行域名 Redirect 到钓鱼服务器的 IP
- Redirect 到的 IP 如果长期停机,APP 会一直连不上(而不是像 Blocklist 那样直接空掉)
- 通配符 Redirect 可能意外匹配你没想拦的域名
只信任你自己添加的 Redirect 规则或来自可信社区维护的 hosts 源里的 Redirect 条目。
优先级总表(补 Redirect)
从高到低:
- Allowlist(永远放行)
- 自定义 Redirect 规则(你自己加的重定向)
- 自定义 Blocklist(你自己加的拦截)
- hosts 源的 Redirect 规则(hosts 源里包含的重定向)
- hosts 源的 Block 规则(hosts 源里包含的拦截)
同一个域名出现在多个层级时,高层的赢。
