---
url: /manual/musubi.md
description: 用 TUN/TAP 把所有端设备组成 L3/L2 网络
---

# Musubi：多台 mayami 组网

Musubi 把几台 mayami 的 TUN/TAP 连接成一张网，让对端背后的前缀可路由。它复用现有 outbound/inbound 作为承载，不要求中间节点部署专用 relay。

## 完整配置

```yaml check
musubi:
  office:
    tun: mesh0
    address: [10.7.0.1/24]
    mtu: 1400
    peers:
      laptop:
        allowed_ips: [10.7.0.2/32]
      lab:
        allowed_ips: [10.7.0.3/32, 192.168.50.0/24]
        endpoint: lab.example:7000

dns:
  servers:
    real: {type: udp, address: 1.1.1.1:53}
  final: real
```

字段见 [musubi 配置](/configuration/musubi)。

## 包怎么走

1. 本机发往某个 `allowed_ips` 前缀的包进入 mesh TUN。
2. 对端若有 `dial`，mayami 通过指定出站保持到 `0.0.0.0:7` 的流；`endpoint` 则直接拨 `0.0.0.0:8`。
3. 对端从代理入站拨入时，按 `ingress` 或用户名识别身份。
4. 对端拥有的默认路由进入独立表，并用 `fwmark` 规则避开 mayami 自己的连接。

TAP 模式承载以太网帧，不配置 `allowed_ips`；TUN 模式每个对端必须声明它拥有的前缀。

## 安全边界

对端发送的源地址必须落在自己的前缀内，否则丢弃。不同对端不能声明同一前缀，一个地址族最多一个对端拥有默认路由。承载仍依赖底层代理协议的认证与加密。

::: warning 宿主机会被改什么
在 Linux 上可能创建 TUN/TAP，写路由、策略规则和 `fwmark` 路由表；删除 mesh 时清理自己创建的对象。
:::

## 相关

* [musubi 配置](/configuration/musubi)
* [出站总览](/configuration/outbound/)
* [入站总览](/configuration/inbound/)
