Files
tvbox_collect/_posts/2024-08-21-dnsbypass-mihomo-geodata.md
T
2026-07-19 04:51:50 +00:00

2.8 KiB

title, description, date, categories, tags
title description date categories tags
搭载 mihomo 内核进行 DNS 分流教程-geodata 方案 此教程搭载 mihomo 内核并使用其特性进行 DNS 分流,即指定国内域名 <code>geosite:cn</code> 走国内 DNS 解析,其它域名包括国外域名都走 <code>fake-ip</code> 2024-08-21 08:48:20 +0800
DNS 配置
DNS 分流
Clash
mihomo
进阶
DNS
DNS 分流

说明 {: .prompt-tip }

  1. 使用 ShellCrash 搭配 AdGuard Home 并将 AdGuard Home 作为上游时不要使用该方法
  2. 本教程以 ShellCrash 为例,其它客户端亦可参考
  3. 本教程搭载 mihomo 内核 Meta 版(导入内核方法可参考《ShellCrash 和 AdGuard Home 快速安装教程/导入 mihomo 内核 或 sing-box 内核》)
  4. DNS 分流简单来说就是指定国内域名走国内 DNS 解析,国外域名走 fake-ip。未知域名走 real-ip(在匹配 GEOIP:cn 规则时会由国内 DNS 解析,解析出 IP 在国内则走 国内 IP 规则,否则走 漏网之鱼 规则)
  5. 部分用户觉得未知域名处理方式会导致 DNS 泄露,可参考《搭载 mihomo 内核配置 DNS 不泄露教程-geodata 方案

一、 导入路由规则文件

geosite.dat 文件须包含 fakeip-filtercnproxy,推荐导入我定制的路由规则文件

二、 DNS 分流配置

  1. 进入 ShellCrash 配置脚本 → 2) 功能设置 → 2) DNS 设置 → 9) 修改 DNS 服务器,将“DIRECT-DNS”、“PROXY-DNS”和“DEFAULT-DNS”都设置为 null
    ShellCrash DNS 进阶设置

  2. 连接 SSH 后执行命令 vi $CRASHDIR/yamls/user.yaml,按一下 Ins 键(Insert 键),粘贴如下内容:

hosts:
  dns.alidns.com: [223.5.5.5, 223.6.6.6, 2400:3200::1, 2400:3200:baba::1]
  doh.pub: [1.12.12.12, 120.53.53.53]

dns:
  enable: true
  prefer-h3: true
  ipv6: true
  listen: 0.0.0.0:1053
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.0/15
  fake-ip-range6: fc00::/16
  fake-ip-filter-mode: rule
  fake-ip-filter:
    - GEOSITE,fakeip-filter,real-ip
    - GEOSITE,proxy,fake-ip
    - GEOSITE,cn,real-ip
    - MATCH,real-ip
  nameserver:
    - quic://dns.alidns.com:853
    - https://doh.pub/dns-query

按一下 Esc 键(退出键),输入英文冒号 :,继续输入 wq 并回车