Skip to content

Commit d24233e

Browse files
authored
ECH and Sniffing: Explaining when to block QType 65 (#767)
1 parent 35f4c6b commit d24233e

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

docs/config/inbound.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -75,17 +75,18 @@
7575

7676
> `sniffing`: [SniffingObject](#sniffingobject)
7777
78-
流量探测主要作用于在透明代理等用途.
79-
比如一个典型流程如下:
78+
流量探测主要作用于在透明代理等用途,比如一个典型流程如下:
8079

81-
1. 如有一个设备上网,去访问 abc.com,首先设备通过 DNS 查询得到 abc.com 的 IP 是 1.2.3.4,然后设备会向 1.2.3.4 去发起连接.
82-
2. 如果不设置嗅探,Xray 收到的连接请求是 1.2.3.4,并不能用于域名规则的路由分流.
83-
3. 当设置了 sniffing 中的 enable 为 true,Xray 处理此连接的流量时,会从流量的数据中,嗅探出域名,即 abc.com
84-
4. Xray 会把 1.2.3.4 重置为 abc.com.路由就可以根据域名去进行路由的域名规则的分流
80+
1. 如有一个设备上网去访问 abc.com首先设备通过 DNS 查询得到 abc.com 的 IP 是 1.2.3.4, 然后设备会向 1.2.3.4 去发起连接
81+
2. 如果不设置嗅探Xray 收到的连接请求是 1.2.3.4, 并不能用于域名规则的路由分流
82+
3. 当设置了 sniffing 中的 enable 为 trueXray 处理此连接的流量时会从流量的数据中嗅探出域名即 abc.com
83+
4. Xray 会把 1.2.3.4 重置为 abc.com路由就可以根据域名去进行路由的域名规则的分流
8584

86-
因为变成了一个向 abc.com 请求的连接, 就可以做更多的事情, 除了路由域名规则分流, 还能重新做 DNS 解析等其他工作.
85+
因为变成了一个向 abc.com 请求的连接就可以做更多的事情除了路由域名规则分流还能重新做 DNS 解析等其他工作
8786

88-
当设置了 sniffing 中的 enable 为 true, 还能嗅探出 bittorrent 类型的流量, 然后可以在路由中配置"protocol"项来设置规则处理 BT 流量, 比如服务端用来拦截 BT 流量, 或客户端固定转发 BT 流量到某个 VPS 去等.
87+
当设置了 sniffing 中的 enable 为 true,还能嗅探出 bittorrent 类型的流量,然后可以在路由中配置 "protocol" 项来设置规则处理未加密的 BT 流量,比如服务端用来拦截未加密的 BT 流量,或客户端固定转发 BT 流量到某个 VPS 去等。
88+
89+
注意:较新的浏览器可能使用 ECH 加密 Client Hello, 此时 Xray 只能看到 Outer Hello 中的域名,可能需要考虑劫持 DNS 或者手动在浏览器配置关闭 ECH.
8990

9091
### SniffingObject
9192

docs/config/outbounds/dns.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ DNS 是一个出站协议,主要用于拦截和转发 DNS 查询。
3838

3939
> `blockTypes`: array
4040
41-
为一个int数组,屏蔽数组中的查询类型,如 `"blockTypes":[65,28]` 表示屏蔽type 65(HTTPS) 和 28(AAAA)
41+
为一个 int 数组,屏蔽数组中的查询类型,如 `"blockTypes": [65,28]` 表示屏蔽 type 65(HTTPS) 和 28(AAAA). 常见用途包括屏蔽 type 65 以阻止浏览器发起 ECH.
4242

43-
由于 `nonIPQuery` 默认 drop 所有非 A 和 AAAA 查询, 所以需要将其设置为 skip 本选项才能进一步发挥作用。当然也可以不修改,单纯用来屏蔽A或者AAAA来屏蔽 ipv4/ipv6 查询, 但非常不推荐那么做,建议在内置DNS的 `queryStrategy` 对相关内容进行设置。
43+
由于 `nonIPQuery` 默认 drop 所有非 A 和 AAAA 查询, 所以需要将其设置为 skip 本选项才能进一步发挥作用。当然也可以不修改,单纯用来屏蔽 A 或者 AAAA 来屏蔽 IPv4/IPv6 查询但非常不推荐那么做,建议在内置 DNS 的 `queryStrategy` 对相关内容进行设置。
4444

45-
:当只使用 `blockTypes` 屏蔽 A 或 AAAA 时, 如果 `nonIPQuery` 设置为了 `reject` 那么屏蔽方式也会是返回 DNS reject 而不是丢弃
45+
注意:当只使用 `blockTypes` 屏蔽 A 或 AAAA 时, 如果 `nonIPQuery` 设置为了 `reject` 那么屏蔽方式也会是返回 DNS reject 而不是丢弃
4646

4747
## DNS 配置实例 <Badge text="WIP" type="warning"/>

0 commit comments

Comments
 (0)