Xray-docs-next/docs/document/level-1/work.md

55 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Xray 的工作模式
## 单服务器模式
与其它的网络代理工具一样,你需要一台配置了 Xray 的服务器,然后在自己的设备上安装并配置 Xray 客户端,然后即可流畅地访问互联网。
```mermaid
graph LR;
A(PC) -.- B(防火墙);
B -.-> C(墙外网站);
A --> D(Xray/VPS);
D --> C;
A --> E(墙内网站);
```
一个 Xray 服务器可同时支持多台设备使用不同的代理协议访问。同时经过合理的配置Xray 可以识别并区分需要代理以及不需要代理的流量,直连的流量不需要绕路。
## 桥接模式
如果你不想在每一台设备上都配置路由,你也可以设置一台中转服务器,用于接收客户端发来的所有流量,然后在服务器中进行转发判断。
```mermaid
graph LR;
A(PC) -.-> B(防火墙);
B -.-> C(墙外网站);
A --> D(墙内 VPS);
D --> E(墙外 VPS);
E --> C;
D --> F(墙内网站);
```
## 工作原理
在配置 Xray 之前,不妨先来看一下 Xray 的工作原理,以下是单个 Xray 进程的内部结构示意图。多个 Xray 之间相互独立,互不影响。
```mermaid
graph LR;
A1(inbound) --> D(Dispatcher / Router / DNS);
A2(inbound) --> D;
A3(inbound) --> D;
A4(inbound) --> D;
D --> B1(outbound);
D --> B2(outbound);
D --> B3(outbound);
D --> B4(outbound);
```
- 需要配置至少一个入站连接Inbound和一个出站连接Outbound才可以正常工作。
- 入站连接负责与客户端(如浏览器)通信:
- 入站连接通常可以配置用户认证,如 ID 和密码等;
- 入站连接收到数据之后会交给分发器Dispatcher进行分发
- 出站连接负责将数据发给服务器,如另一台主机上的 Xray。
- 当有多个出站连接时可以配置路由Routing来指定某一类流量由某一个出站连接发出。
- 路由会在必要时查询 DNS 以获取更多信息来进行判断。