Update routing-with-dns.md

pull/714/head
Meow 2025-07-15 12:04:30 +08:00 committed by GitHub
parent e439c0ebd3
commit abd9299e6c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 23 additions and 3 deletions

View File

@ -23,13 +23,33 @@
这无疑给分流带来困扰,如果你的规则更新的不及时,你可能会出现本应走直连的流量被代理、甚至一些网站会打不开的现象。
那么有没有什么办法能做到 100% 精准分流呢?
未知的域名假如在中国有服务器,希望尽可能直连,但一顿操作后遇到了传说中的 DNS Leak 怎么办?
那么有没有什么办法能做到 100% 安全又精准的分流呢?
答案是:包的。
## 利用 Xray-core DNS 模块实现精准分流
例子 1此配置解析出精准的 CDN 友好的 IP 地址,保证无 DNS Leak 的同时,只要中国有服务器节点就能优先解析出来,非常适合 realIp 透明代理场景。
合理利用 Xray ~~如轮椅般~~强大的内置 DNS 自带的回落、EDNS、IP 过滤、打 Tag 等功能,精心调整它们的顺序。如此你便得到了最精确的 IP 作为分流条件。
在继续阅读本文之前,你需要充分阅读并理解“入门技巧:路由 (routing) 功能简析[上篇](https://xtls.github.io/document/level-1/routing-lv1-part1.html)、[下篇](https://xtls.github.io/document/level-1/routing-lv1-part2.html)”。
与此同时你已经快要把官方配置指南给翻烂了,因此你完全理解了路由和出站中的 domainStrategy、入站中 sniffing 各选项的作用、以及其不同值的组合下产生的行为。
一切就绪?请试着理解下面这段内容:
sock、http 入站时,请求的就是域名,到了路由后,路由中非 AsIs 的 domainStrategy 可以利用内置 DNS 解析出 IP 临时用于路由匹配。到了本地 direct 出站时,出站中非 AsIs 的 domainStrategy 可以利用内置 DNS 再次解析出 IP 用于出站。发往 Xray 服务器的请求只有域名,具体访问哪个 IP 取决于服务器的 direct 出站。
透明代理时情况变得更加复杂,入站 sniffing 开启,且 destOverride 有 [http, tls]
- 若 routeOnly = false 则请求的 IP 将被抹掉,后面的流程跟 sock 入站一样。
- 若 routeOnly = true 则同时有域名和 IP到了路由后可以直接匹配域名和 IP 规则,本地 direct 出站也会用此 IP。发往 Xray 服务器的请求只有 IP服务器如何处理再把刚才的流程走一遍。
遇到困难?你需要继续反复阅读官方指南并尝试理解。否则你很难利用到下面示例中 DNS 模块的解析结果来正确分流。
---
#### 例子 1此配置解析出精准的 CDN 友好的 IP 地址,保证无 DNS Leak 的同时,只要中国有服务器节点就能优先解析出来,非常适合 realIp 透明代理场景。
```json
{
@ -96,7 +116,7 @@ realIp 透明代理环境,你甚至可以在劫持 DNS 后,设置 domainStra
---
例子 2此配置解析出正确但不保证国外 CDN 友好的地址,保证无 DNS Leak 的同时,只要中国有服务器节点就能优先解析出来,适合 fakeIp 透明代理、sock、http 入站等场景。
#### 例子 2此配置解析出正确但不保证国外 CDN 友好的地址,保证无 DNS Leak 的同时,只要中国有服务器节点就能优先解析出来,适合 fakeIp 透明代理、sock、http 入站等场景。
```json
{