tun
创建 TUN,把本机或指定来源的流量交给网关。
yaml
inbounds:
host:
type: tun
interface: mayami0
address: [198.18.0.1/30]
auto_route: false
dns:
servers:
default: {type: udp, address: 127.0.0.1:53}
final: default字段
type
- 类型:字符串。
- 必填:是,第一项。
- 取值:
tun。
interface
- 类型:接口名。
- 必填:是。
address
- 类型:CIDR 数组。
- 必填:可选。
- 默认:空。
mtu
- 类型:无符号整数。
- 必填:可选。
- 默认:
9000。
queues
- 类型:非负整数。
- 必填:可选。
- 默认:可用 CPU 核数;
full_cone时 1。
vnet_hdr
- 类型:布尔值。
- 默认:
true。
auto_route
- 类型:布尔值。
- 默认:
false。
route_address
- 类型:CIDR 数组。
- 默认:空;
auto_route时取有地址的每个地址族的默认路由。
route_exclude_address
- 类型:CIDR 数组。
- 默认:空。
include_uid
- 类型:整数或
from:to字符串数组。 - 默认:空,表示不按 UID 限制本机连接。
- 取值:UID 非负;范围要求
from <= to。
exclude_uid
- 类型:整数或
from:to字符串数组。 - 默认:空。
include_interface
- 类型:接口名数组。
- 默认:空,表示所有被转发的来源。
exclude_interface
- 类型:接口名数组。
- 默认:空。
strict_route
- 类型:布尔值。
- 默认:
false。 - 行为:被强杀后 TUN 和路由保留;没有路由的地址族也收进 TUN 并拒绝。
table
- 类型:32 位无符号整数。
- 默认:
0x7475(29557)。
priority
- 类型:32 位无符号整数。
- 默认:
26999,在 Musubi 的28000之前。
mark
- 类型:32 位无符号整数。
- 默认:Musubi 自用 mark。
- 行为:带此 mark 的本机连接不进入 TUN 表。
full_cone
- 类型:布尔值。
- 默认:
false。
说明
仅 Linux
tun 依赖 Linux TUN、策略路由和 netlink。非 Linux 构建会把 tun 拒绝。
宿主机会被改什么
启用后 mayami 创建 TUN、写路由表和策略规则,并可能修改 forwarding/RA 相关 sysctl。strict_route 会让 TUN 在进程被强杀后继续存在,直到下一次启动接管。