@@ -8,7 +8,7 @@ tags: [Clash, mihomo, 进阶, DNS, DNS 泄露]
88
99> 说明
1010 {: .prompt-tip }
11- 1 . 此方案彻底防止了 DNS 泄露(针对未知域名走国外 DNS 解析 ,解析出 IP 在国内则走 ` 🀄️ 直连 IP ` 规则,否则走 ` 🐟 漏网之鱼 ` 规则),兼容性无法保证,请慎用
11+ 1 . 此方案彻底防止了 DNS 泄露(未知域名在匹配 ` rules.GEOIP:cn ` 规则时会走国外 DNS 解析且配置 ` ecs ` ,解析出 IP 在国内则走 ` 🀄️ 直连 IP ` 规则,否则走 ` 🐟 漏网之鱼 ` 规则),兼容性高,可放心使用
12122 . 本教程以 [ ShellCrash] ( https://github.com/juewuy/ShellCrash ) 为例,其它客户端亦可参考
13133 . 可进入 < https://ipleak.net > 测试 DNS 是否泄露,“DNS Addresses” 栏目下没有中国国旗(因 ` ipleak.net ` 属未知域名,默认走 ` 🐟 漏网之鱼 ` 规则),即代表 DNS 没有发生泄露
1414
@@ -20,7 +20,7 @@ geosite.dat 文件须包含 `fakeip-filter` 和 `cn`,推荐导入我定制的[
2020<img src =" /assets/img/dns/dns-null.png " alt =" ShellCrash 设置 " width =" 60% " />
2121
2222## 三、 DNS 防泄漏配置
23- ### 1. DNS 模式为 ` mix ` 并配置 ` ecs ` (推荐)
23+ ### 1. DNS 模式为 ` mix ` (推荐)
2424连接 SSH 后执行 ` vi $CRASHDIR/yamls/user.yaml ` ,按一下 Ins 键(Insert 键),粘贴如下内容:
2525> 推荐将 ` ecs ` 设置为当前网络的公网 IP 段,如当前网络公网 IP 为 ` 202.103.17.123 ` ,可设置为 ` 202.103.17.0/24 ` (后续维护更新可直接执行命令 ` sed -i -E "s/(ecs=)[0-9.]+\/[0-9]+/\1$(curl -s 4.ipw.cn | cut -d. -f1-3).0\/24/" $CRASHDIR/yamls/user.yaml ` )
2626 {: .prompt-info }
3636 enable : true
3737 ipv6 : true
3838 listen : 0.0.0.0:1053
39+ enhanced-mode : fake-ip
3940 fake-ip-range : 28.0.0.1/8
4041 fake-ip-range6 : fc00::/16
41- enhanced-mode : fake-ip
4242 fake-ip-filter : ['geosite:fakeip-filter,cn']
4343 respect-rules : true
4444 nameserver :
5555
5656按一下 Esc 键(退出键),输入英文冒号 ` :`,继续输入 `wq` 并回车
5757
58- # ## 2. DNS 模式为 `mix`
59- 连接 SSH 后执行 `vi $CRASHDIR/yamls/user.yaml`,按一下 Ins 键(Insert 键),粘贴如下内容:
60-
61- ` ` ` yaml
62- hosts:
63- dns.alidns.com: [223.5.5.5, 223.6.6.6, 2400:3200::1, 2400:3200:baba::1]
64- doh.pub: [1.12.12.12, 1.12.12.21, 120.53.53.53]
65- dns.google: [8.8.8.8, 8.8.4.4, 2001:4860:4860::8888, 2001:4860:4860::8844]
66- cloudflare-dns.com: [1.1.1.1, 1.0.0.1, 2606:4700:4700::1111, 2606:4700:4700::1001]
67-
68- dns:
69- enable: true
70- ipv6: true
71- listen: 0.0.0.0:1053
72- fake-ip-range: 28.0.0.1/8
73- fake-ip-range6: fc00::/16
74- enhanced-mode: fake-ip
75- fake-ip-filter: ['geosite:fakeip-filter,cn']
76- respect-rules: true
77- nameserver:
78- - https://dns.google/dns-query
79- - https://cloudflare-dns.com/dns-query
80- proxy-server-nameserver:
81- - https://dns.alidns.com/dns-query
82- - https://doh.pub/dns-query
83- direct-nameserver:
84- - https://dns.alidns.com/dns-query
85- - https://doh.pub/dns-query
86- ` ` `
87-
88- 按一下 Esc 键(退出键),输入英文冒号 `:`,继续输入 `wq` 并回车
89-
90- # ## 3. DNS 模式为 `fake-ip`
58+ # ## 2. DNS 模式为 `fake-ip`(不推荐)
9159- ① 额外编辑配置文件,在《[生成带有自定义策略组和规则的 mihomo 配置文件直链-geodata 方案/添加模板](https://proxy-tutorials.dustinwin.us.kg/posts/link-mihomo-geodata/#%E4%BA%8C-%E6%B7%BB%E5%8A%A0%E6%A8%A1%E6%9D%BF)》编辑 .yaml 配置文件时,将 `rules` 里的所有 `GEOIP` 规则末尾加上 `no-resolve`,即修改为:
9260
9361 ` ` ` yaml
@@ -107,39 +75,42 @@ dns:
10775 prefer-h3: true
10876 ipv6: true
10977 listen: 0.0.0.0:1053
78+ enhanced-mode: fake-ip
11079 fake-ip-range: 28.0.0.1/8
11180 fake-ip-range6: fc00::/16
112- enhanced-mode: fake-ip
11381 fake-ip-filter: ['geosite:fakeip-filter']
11482 nameserver:
11583 - https://dns.alidns.com/dns-query
11684 - https://doh.pub/dns-query
11785 ` ` `
11886
119- - ③ 按一下 Esc 键(退出键),输入英文冒号 `:`,继续输入 `wq` 并回车
87+ 按一下 Esc 键(退出键),输入英文冒号 `:`,继续输入 `wq` 并回车
12088
121- # ## 4 . DNS 模式为 `redir-host`
89+ # ## 3 . DNS 模式为 `redir-host`
12290连接 SSH 后执行 `vi $CRASHDIR/yamls/user.yaml`,按一下 Ins 键(Insert 键),粘贴如下内容:
91+ >推荐将 `ecs` 设置为当前网络的公网 IP 段,如当前网络公网 IP 为 `202.103.17.123`,可设置为 `202.103.17.0/24`(后续维护更新可直接执行命令 `sed -i -E "s/(ecs=)[0-9.]+\/[0-9]+/\1$(curl -s 4.ipw.cn | cut -d. -f1-3).0\/24/" $CRASHDIR/yamls/user.yaml`)
92+ {: .prompt-info }
12393
12494` ` ` yaml
12595hosts:
12696 dns.alidns.com: [223.5.5.5, 223.6.6.6, 2400:3200::1, 2400:3200:baba::1]
12797 doh.pub: [1.12.12.12, 1.12.12.21, 120.53.53.53]
12898 dns.google: [8.8.8.8, 8.8.4.4, 2001:4860:4860::8888, 2001:4860:4860::8844]
129- cloudflare-dns.com : [1.1.1.1, 1.0.0.1, 2606:4700:4700::1111, 2606:4700:4700::1001 ]
99+ dns11.quad9.net : [9.9.9.11, 149.112.112.11, 2620:fe::11, 2620:fe::fe:11 ]
130100
131101dns:
132102 enable: true
133103 ipv6: true
134104 listen: 0.0.0.0:1053
105+ enhanced-mode: fake-ip
135106 fake-ip-range: 28.0.0.1/8
136107 fake-ip-range6: fc00::/16
137- enhanced-mode: fake-ip
138108 fake-ip-filter: ['+.*']
139109 respect-rules: true
140110 nameserver:
141- - https://dns.google/dns-query
142- - https://cloudflare-dns.com/dns-query
111+ # 推荐将 ` ecs` 设置为当前网络的公网 IP 段
112+ - ' https://dns.google/dns-query#ecs=202.103.17.0/24'
113+ - ' https://dns11.quad9.net/dns-query#ecs=202.103.17.0/24'
143114 proxy-server-nameserver :
144115 - https://dns.alidns.com/dns-query
145116 - https://doh.pub/dns-query
0 commit comments