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

59 lines
1.9 KiB
Markdown
Raw Normal View History

2021-03-25 14:33:41 +00:00
# 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 以获取更多信息来进行判断。