dial
出站怎样够到自己的服务器,以及直接拨号 socket 的本地约束。字段与出站自身字段平铺。
yaml
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 或作为链的非首跳时,这些字段必须留给真正直接拨号的首跳。