55 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
# 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 以获取更多信息来进行判断。
 |