Skip to content

Commit e538803

Browse files
authored
Wireguard: domainStrategy (#777)
* Wireguard: domainStrategy * PR#5417 Clarified the constraints of the 'address' option in relation to the 'domainStrategy' for Wireguard. XTLS/Xray-core#5417
1 parent 871a015 commit e538803

File tree

1 file changed

+15
-29
lines changed

1 file changed

+15
-29
lines changed

docs/config/outbounds/wireguard.md

Lines changed: 15 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141

4242
> `address`: string array
4343
44-
Wireguard 会在本地开启虚拟网卡 tun。使用一个或多个 IP 地址,支持 IPv6
44+
Wireguard 会在本地开启虚拟网卡 tun。使用一个或多个 IP 地址,支持 IPv6
4545

4646
> `noKernelTun`: true | false
4747
@@ -58,9 +58,9 @@ Wireguard 会在本地开启虚拟网卡 tun。使用一个或多个 IP 地址
5858
Wireguard 底层 tun 的MTU大小。
5959

6060
<details>
61-
<summary>MTU的计算方法</summary>
61+
<summary>MTU 的计算方法</summary>
6262

63-
一个wireguard数据包的结构如下
63+
一个 Wireguard 数据包的结构如下
6464

6565
```
6666
- 20-byte IPv4 header or 40 byte IPv6 header
@@ -72,7 +72,7 @@ Wireguard 底层 tun 的MTU大小。
7272
- 16-byte authentication tag
7373
```
7474

75-
`N-byte encrypted data`即为我们需要的MTU的值,根据endpoint是IPv4还是IPv6,具体的值可以是1440(IPv4)或者1420(IPv6),如果处于特殊环境下再额外减掉即可(如家宽PPPoE额外-8)。
75+
`N-byte encrypted data` 即为我们需要的 MTU 的值,根据 endpoint 是 IPv4 还是 IPv6,具体的值可以是 1440(IPv4) 或者 1420(IPv6),如果处于特殊环境下再额外减掉即可 (如家宽 PPPoE 额外 -8)。
7676

7777
</details>
7878

@@ -90,26 +90,12 @@ Wireguard 服务器列表,其中每一项是一个服务器配置。
9090

9191
> `domainStrategy`: "ForceIPv6v4" | "ForceIPv6" | "ForceIPv4v6" | "ForceIPv4" | "ForceIP"
9292
93-
不像绝大多数代理协议,Wireguard不允许传递域名作为目标,所以如果传入目标为一域名需要解析为IP地址后传送,这会经由 Xray 内置DNS处理,此处字段含义见 `Freedom` 出站的 `domainStrategy` ,默认值为 `ForceIP`
93+
当 Wireguard 服务器地址为域名、被代理流量目标地址是域名时,控制它们的域名解析策略。
9494

95-
PS: `Freedom` 出站的 `domainStrategy` 包含诸如 `UseIP` 的选项,在这里不提供,因为Wiregiard必须获取一个可用的IP,不能进行 `UseIP` 回落行为
95+
不像绝大多数代理协议,Wireguard 不允许传递域名作为目标,所以如果传入目标为一域名需要解析为 IP 地址后传送,这会经由 Xray 内置DNS处理,此处字段含义见 `Freedom` 出站的 `domainStrategy`,默认值为 `ForceIP`
9696

97-
```json
98-
"dns": {
99-
"servers": [
100-
"https://1.1.1.1/dns-query",
101-
{
102-
"address": "https://1.1.1.1/dns-query",
103-
"domains": [
104-
"geosite:openai"
105-
],
106-
"skipFallback": true,
107-
"queryStrategy": "UseIPv6" // 只查询 AAAA 记录
108-
}
109-
],
110-
"queryStrategy": "UseIP" // 同时查询 A 和 AAAA 记录,若不写此参数,默认值 UseIP,
111-
}
112-
```
97+
`Freedom` 出站的 `domainStrategy` 包含诸如 `UseIP` 的选项,在这里不提供,因为 Wiregiard 必须获取一个可用的 IP,不能执行 `UseIP` 解析失败后回落为域名的行为。<br>
98+
注意:作用于被代理流量时,此选项还受 `address` 选项的约束,比如你设置了 ForceIPv6v4 但是 address 中没有设置 IPv6 地址,尽管目标域名有 AAAA 记录也不会解析。
11399

114100
### Peers
115101

@@ -125,23 +111,23 @@ PS: `Freedom` 出站的 `domainStrategy` 包含诸如 `UseIP` 的选项,在这
125111

126112
> `endpoint`: address
127113
128-
服务器地址, 必填
114+
服务器地址, 必填
129115

130-
URL:端口 格式,例如 `engage.cloudflareclient.com:2408`<br>
131-
IP:端口 格式,例如 `162.159.192.1:2408``[2606:4700:d0::a29f:c001]:2408`
116+
URL: 端口 格式,例如 `engage.cloudflareclient.com:2408`<br>
117+
IP: 端口 格式,例如 `162.159.192.1:2408``[2606:4700:d0::a29f:c001]:2408`
132118

133119
> `publicKey`: string
134120
135-
服务器公钥,用于验证, 必填
121+
服务器公钥,用于验证, 必填
136122

137123
> `preSharedKey`: string
138124
139-
额外的对称加密密钥
125+
额外的对称加密密钥
140126

141127
> `keepAlive`: int
142128
143-
心跳包时间间隔,单位为秒,默认为 0 表示无心跳
129+
心跳包时间间隔,单位为秒,默认为 0 表示无心跳
144130

145131
> `allowedIPs`: string array
146132
147-
Wireguard 仅允许特定源 IP 的流量
133+
Wireguard 仅允许特定源 IP 的流量

0 commit comments

Comments
 (0)