---
url: /configuration/inbound/tun.md
description: 创建 TUN，用路由策略接管 Linux 本机流量
---

# tun

创建 TUN，把本机或指定来源的流量交给网关。

```yaml check
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`。

## 说明

::: info 仅 Linux
`tun` 依赖 Linux TUN、策略路由和 netlink。非 Linux 构建会把 `tun` 拒绝。
:::

::: warning 宿主机会被改什么
启用后 mayami 创建 TUN、写路由表和策略规则，并可能修改 forwarding/RA 相关 sysctl。`strict_route` 会让 TUN 在进程被强杀后继续存在，直到下一次启动接管。
:::

## 相关

* [共享 listen](/configuration/shared/listen)
* [配置总览](/configuration/)
