Skip to content

Commit

Permalink
Wireguard outbound: Add desc of "noKernelTun"
Browse files Browse the repository at this point in the history
  • Loading branch information
Fangliding authored Nov 21, 2024
1 parent 2f70265 commit 8d5aad3
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions docs/config/outbounds/wireguard.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,13 @@ Wireguard 会在本地开启虚拟网卡 tun。使用一个或多个 IP 地址

> `noKernelTun`: true | false
是否手动禁用 Linux 内核的虚拟网卡 TUN。(默认情况下会自动检测是否有所需权限决定是否启用)
需要系统支持且有 root 权限才能使用 Linux 内核的虚拟网卡 TUN,使用后会占用 IPv6 的 1023 号路由表。
默认情况下核心会检测是否处于 Linux 并且当前用户具有 NET_CAP_ADMIN 权限决定是否启用系统虚拟网卡,否则使用 gvisor, 使用系统虚拟网卡相对性能更高。

这个判断不一定准确,比如一些 lxc 虚拟化可能本来就没有 TUN 权限,这会导致出站无法工作,所以可以在这里设置是否手动禁用。

使用系统虚拟网卡时会占用 IPv6 的 10230 号路由表,每一个其他 wireguard 出站会依次往后使用路由表,比如第二个会使用 10231 号路由表,以此类推。

注意如果在同一个机器上启动第二个 Xray 实例不会接着分配路由表号,会继续尝试使用 10230 号路由表,因为已经被第一个 Xray 实例占用所以会失败无法连接,如果实在需要也需要设置这个选项禁用系统虚拟网卡。

::: tip
若 IPv6 的 1023 号路由表内已有路由条目,会导致该功能无法正常使用。
Expand Down

0 comments on commit 8d5aad3

Please sign in to comment.