# 配置说明

本文档详细介绍了系统各主要功能模块的配置参数和相关设置逻辑。

## 服务器配置

服务器作为流量入口节点，是端口转发服务的核心组件。每个端口转发规则都必须关联到相应的服务器实例作为流量接入点。

### 基本信息

<img src="https://img.coderluny.com:444/uploads/33671b22-392a-47d3-8a78-53155066461f.png" width="600" alt="服务器基本信息配置">

**IP地址**：服务器的入口地址，主要用于显示识别。可填写IP地址或域名，但请勿包含端口号。此字段仅用于标识和显示，不影响实际网络连接。

**网卡名称**：指定服务器收集流量和网速的网卡，不影响功能，只影响探针显示。在大多数Ubuntu或Debian系统中默认为`eth0`。可通过在目标服务器上执行`ip a`命令查看具体的网卡名称，示例如下：

<img src="https://img.coderluny.com:444/uploads/adeeeb17-1c7e-4960-937a-0055cc20647e.png" width="600" alt="网卡名称查看示例">

**端口范围**：定义由管理面板统一管理的端口范围，用于自动分配可用端口。系统会自动检测并排除已被其他服务占用的端口，确保分配的端口可用。通常情况下使用默认设置即可。



### 转发端点设置

<img src="https://img.coderluny.com:444/uploads/e8932605-0f27-4cbc-9eeb-55756941bef1.png" width="600" alt="转发端点设置界面">

可以不选择转发端点，则默认是直连模式，所有数据均直接转发给目标，转发端点设置为服务器提供代理和隧道功能，具有以下两种工作模式：

* **控制器代理模式**：当**未勾选**"使用转发端点作为传输"时，服务器将通过所选转发端点/转发链代理访问管理面板控制器，主要用于解决服务器与控制器间网络连接不稳定的问题，建议如果服务器和面板之间网络连接不稳定，都选择转发端点。
* **隧道传输模式**：当**勾选**"使用转发端点作为传输"时，除提供控制器代理功能外，系统会将服务器与转发端点封装为隧道，后续添加的端口将默认使用此隧道配置进行数据转发。

**配置模式**：系统支持以下两种配置模式：

* **传统模式**：支持配置多个转发端点或端点组，可设置负载均衡策略（默认为延迟优先）。当部分转发端点发生故障时，系统会自动切换到可用节点，确保隧道服务的高可用性。
* **转发链模式**：基于预配置的转发链进行数据转发。流量将按照链中节点的顺序依次传输，系统会自动选择延迟最优的转发路径以获得最佳性能。

**Tot服务器**：提供单线程带宽聚合功能（仅支持传统模式）。工作原理是将流量均匀拆分后通过多个转发端点并行传输，最终在Tot服务器处汇聚合并后转发至目标地址。支持配置多个Tot服务器实现负载均衡。

### 高级选项

<img src="https://img.coderluny.com:444/uploads/3d7173c3-19a0-4413-a463-21f0d15f82af.png" width="600" alt="服务器高级选项配置">

**流量倍率**：设置服务器流量消耗的计算倍率。系统统计的流量为单向流量（上行+下行总和）。例如，用户下载2G电影并上传1G视频时，在倍率为1.0的情况下，总消耗流量为3G。通过调整倍率可以修改流量计费规则。

**允许自带转发端点**：启用后，用户在添加端口时可自定义转发端点或转发链。建议在专线转发场景下关闭此选项，以防止用户滥用导致服务器资源过度消耗。

**强制使用转发端点**：启用后，用户添加端口时必须选择转发端点或转发链，无法使用直连模式。

**允许转发链模式**：启用后，用户可在添加端口时选择转发链模式。由于转发链对系统资源消耗较大，建议根据实际情况谨慎开放。

**允许延迟测试**：控制是否允许用户在端口管理界面进行连通性诊断测试，默认启用。

**UDP原进原出**：用于解决特定场景下UDP连接异常的问题。若无此类问题，建议保持关闭状态。

**允许入站代理**：控制是否启用入站代理配置功能，如果开启，用户可以直接使用转发端点作为落地，建议个人使用开启，共享服务器时关闭，默认关闭。

**带宽限制**：设置服务器级别的带宽控制策略，限制整个服务器所有用户的总带宽使用量。

**最大IP数**：限制单个端口同时允许连接的最大IP地址数量。

**每IP最大连接数**：限制单个IP地址对单个端口的最大并发连接数（TCP+UDP）。

**协议过滤器**：配置服务器需要屏蔽的特定协议类型。

**标签**：用于服务器分类和筛选的标识标签。

**自定义配置**：JSON格式的隧道高级配置选项，分为主对端和备用对端配置。通常第一个转发端点作为主对端，仅在启用转发端点隧道模式时生效。支持以下配置项：

```json
{
  "udp_buffer_size": 4194304, // UDP套接字缓冲区大小，默认4MB，对所有转发端点生效
  "reuse_tcp": true, // TCP连接复用，可降低连接延迟，默认启用
  "native_udp": true, // 原生UDP模式，默认启用，关闭时使用UOT协议
  "max_latency_thold_ms": 1000, // 延迟阈值，超过此值时强制切换服务器
  "active_time_ranges": [{ // 激活时间段，基于转发端点的本地时间
    "start": "20:00:00",
    "end": "23:59:59"
  }],
  "select_weight": 100, // 主转发端点的选择权重, 随机模式生效
  "bind_ip_list": ["192.168.4.1"], // 自定义监听IP列表，默认双栈[::0]
  "backend_server_custom_configs": [
      { // 特定转发端点的个性化配置
      "server_id": 12345, // 转发端点ID（必须是具体端点ID，非组ID）
      "native_udp": false,
      "max_latency_thold_ms": 800,
      "active_time_ranges": [{
        "start": "20:00:00", 
        "end": "23:59:59"
      }],
      "select_weight": 100
    }
  ]
}
```

## 端口配置

### 基本信息

<img src="https://img.coderluny.com:444/uploads/e53a86b9-0d5e-46c4-8290-45bc79f38dbc.png" width="600" alt="端口基本信息配置">

**名称**：端口转发规则的标识名称，建议使用有意义的名称便于管理。

**线路**：选择要使用的服务器或服务器组作为流量入口。

**目标**：目标服务器地址列表，每行一个地址。支持IPv4、IPv6地址和域名，必须包含端口号。IPv6地址需使用方括号格式，如`[2001:db8::1]:80`。

**服务端口**：指定服务监听的入口端口。管理员权限可以超出服务器配置的端口范围限制。

### 转发配置

<img src="https://img.coderluny.com:444/uploads/5439b72d-a70f-482c-aa97-6aa5b9ee82f8.png" width="600" alt="端口转发配置">

**转发链模式**：启用时，流量将按照所选转发端点的顺序依次传输（第一个→第二个→...→最后一个→目标服务器）。禁用时，所选转发端点作为候选池，系统会选择其中一个进行负载均衡和故障转移。

**转发端点**：选择用于流量转发的转发端点，支持多选。系统会自动实现故障转移和负载均衡机制。

**Tot服务器**：启用单线程带宽聚合功能。流量会通过多个转发端点并行传输，在Tot服务器处汇聚后转发至目标。支持选择多个Tot服务器实现负载均衡和高可用。

### 高级选项

<img src="https://img.coderluny.com:444/uploads/6c261af5-9020-424c-b54b-7b3905d29051.png" width="600" alt="端口高级选项配置">

**目标选择模式**：当配置多个目标地址时，可选择相应的负载均衡策略进行流量分配，<span style="color: red;">**系统会测量从入口服务器到最终落地的所有可达路径，最终选择最优路径进行流量转发**</span>。

**测试方法**：支持TCPping和ICMP（ping）两种连通性测试方式，用于检测目标服务器的可达性和网络延迟。

**接受代理协议**：控制是否接受客户端发送的代理协议头，支持Proxy Protocol V1和V2版本。

**发送代理协议**：向目标服务器主动发送代理协议头，保留客户端真实IP信息。支持V1、V2和V3（V2+UDP扩展）版本。

**入站配置**：配置入站代理协议，作为所选线路的前置代理层。启用后，目标IP地址仅用于延迟测量，实际流量转发目标变更为所选的转发端点/链。当前支持Shadowsocks协议，配置格式如下：

```json
{
  "Ss": {}
}
```

> **注意**：保存配置后系统会自动生成加密方式和密码，可在端口编辑界面查看具体参数。



## 转发端点组

转发端点组将多个转发端点整合为逻辑单元，实现统一管理和配置。组内端点支持自动故障切换和负载均衡，提高服务可用性。

## 服务器组

服务器组功能允许将多个服务器整合为统一的服务实体。在服务器组中添加或编辑端口时，配置会自动同步到组内所有服务器。

**配置要求**：
- 组内服务器的相同端口必须处于可用状态(无占用)
- 端口范围和基础配置必须保持一致
- 隧道设置可以根据服务器特性进行个性化配置

## 转发链

转发链由多个转发端点组按特定顺序组成，实现多级转发功能。在配置服务器时可以选择相应的转发链，实现复杂的网络拓扑和路由策略。