---
url: /configuration/shared/dial.md
description: 出站和直接拨号共用的接口、标记、地址与连接选项
---

# dial

出站怎样够到自己的服务器，以及直接拨号 socket 的本地约束。字段与出站自身字段平铺。

```yaml check
outbounds:
  direct:
    type: direct
    interface: lo
    bind_address: 127.0.0.1
    connect_timeout: 5s
    tcp_keep_alive: 5m
    tcp_keep_alive_interval: 75s
    tcp_multi_path: false

dns:
  servers:
    default: {type: udp, address: 127.0.0.1:53}
  final: default
```

## 字段

### detour

* 类型：出站名。
* 必填：可选。
* 默认：由 mayami 直接拨服务器。
* 限制：`direct`、naive 和链的非首跳不接受；与直接拨号字段不能同时写。

### domain_resolver

* 类型：DNS 服务器名。
* 必填：可选。
* 默认：`route.default_domain_resolver`，再退回 bootstrap 或 DNS 规则。
* 限制：`direct` 不接受。

### domain_strategy

* 类型：字符串枚举。
* 必填：可选。
* 取值：`as_is`、`prefer_ipv4`、`prefer_ipv6`、`ipv4_only`、`ipv6_only`。
* 行为：选择代理服务器名字解析出的地址族和顺序。

### interface

* 类型：接口名。
* 必填：可选。
* 默认：系统路由选择。
* 行为：直接拨号 socket 绑定到该接口。

### mark

* 类型：32 位无符号整数。
* 必填：可选。
* 默认：不设置。
* 行为：设置在直接拨号 socket 上。
* 边界：有租户时高 12 位归租户号；配置的 socket mark 落进这 12 位会被拒绝。

### bind_address

* 类型：IP 地址或数组。
* 默认：系统选择。
* 限制：每个地址族最多一个；同一家族第二个地址会报错。

### connect_timeout

* 类型：时长。
* 默认：`15s`。

### tcp_keep_alive

* 类型：时长。
* 必填：可选。
* 默认：不主动设置。

### tcp_keep_alive_interval

* 类型：时长。
* 必填：可选。
* 默认：系统默认。
* 限制：必须与 `tcp_keep_alive` 一起出现。

### tcp_multi_path

* 类型：布尔值。
* 默认：`false`。
* 行为：优先使用 MPTCP，内核或路径不支持时退回普通 TCP。

### tcp_congestion

* 类型：字符串。
* 必填：可选。
* 默认：系统拥塞控制。
* 限制：显式设置只在 Linux 上接受；内核没有该算法时 `check` 失败。

## 说明

`interface`、`mark`、`bind_address`、连接超时、keepalive、MPTCP 和拥塞控制只作用于本出站直接拨出的 socket。写 `detour` 或作为链的非首跳时，这些字段必须留给真正直接拨号的首跳。

## 相关

* [共享块总览](/configuration/shared/)
* [出站总览](/configuration/outbound/)
* [fallback](/configuration/shared/fallback)
* [provider override](/configuration/provider#override)
