VLESS 是 V2ray 工具支持的最新传输协议,具有轻量化、无状态特性。相较之前的 VMESS 协议,VLESS 协议最大的优势在于不依赖系统时间,也不需要 AlterID 配置项。

V2ray 在 4.27.0  内核中加入了 VLESS 协议支持,而一些可视化的 V2ray 客户端也同样加入了 VLESS 支持。

1] V2ray 服务器配置

VLESS 协议目前还没有支持加密,所以需要使用可靠的加密信道,以免传输的信息被侦测到。

以下是完整的基于 TLS 加密的服务端配置示例:

{
  "inbounds": [{
    "port": 8000,
    "listen":"0.0.0.0",
    "protocol": "vless",
    "settings": {
      "clients": [
        {
          "id": "YOUR-UUID-HERE",
          "level": 0,
          "email": "service@rultr.com"
        }
      ],
      "fallback":
        {
    	  "addr": "127.0.0.1",
	  "port": 8001,
          "xver": 1
		},
      "fallback_h2":
	{
          "addr": "127.0.0.1",
          "port": 8002,
	  "xver": 1
    	},
	"decryption": "none"
    },
    "streamSettings": {
        "network": "tcp",
        "security": "tls",
        "tlsSettings": {
            "serverName": "YOUR-SERVER-NAME",
            "alpn": [
                "h2",
		"http/1.1"
                ],
	"certificates": [{
            "certificateFile": "PATH_TO_YOUR-PUBLIC-KEY",
            "keyFile": "PATH_TO_YOUR-PRIVATE-KEY"
                }
            ]
        }
    }
  }],
  "outbounds": [{
    "protocol": "freedom",
    "settings": {}
  },{
    "protocol": "blackhole",
    "settings": {},
    "tag": "blocked"
  }],
  "routing": {
    "rules": [
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "blocked"
      }
    ]
}

其中需要根据应用场景修改的内容包括:

  • “port”:是 V2ray 侦听的端口,根据情况自行设置,启用了防火墙的主机需要放行本端口
  • “id”:是与客户端对应的 UUID 值,可自行设置,一般使用”cat /proc/sys/kernel/random/uuid”命令生成
  • “email”:可自行设置,可能将来会有其他用途
  • “serverName”:代理服务器域名或 IP 地址,由于采用了 tls 加密,一般使用域名,当然域名证书自签名为 IP 地址也可以
  • “certificateFile”:域名公钥的存放路径
  • “keyFile”:域名私钥的存放路径

其他内容不需要修改,使用示例中的内容即可。

需要特别说明的是,示例中对 fallback 和 fallback_h2 都进行了设置,这两个配置项是可选配置,不使用的话留空即可。虽然不太明白回落的具体含义,但是官方强烈建议使用,就配置起相应的回落地址。配置了回落,则需要进一步配置 Web 服务器响应回落流量,否则 V2ray 工作不正常。

2] Web 服务器配置

既然设置了回落,则需要配置 Web 服务器响应 V2ray 转发来的内容。以 Nginx 服务器为例,添加两个服务器分别响应 fallbak 和 fallbak_h2 的请求:

server {
    listen 127.0.0.1:8001 proxy_protocol;
    server_name localhost;

    set_real_ip_from 192.168.1.0/24;
    charset utf-8;
    
    # access_log logs/yourserver_8001.access.log proxy;
    location / {
        root /var/www/html;
    }
    
    error_page  404              /404.html;
    error_page 500 502 503 504 /50x.html;
}

server {
    listen 127.0.0.1:8002 http2 proxy_protocol;
    server_name localhost;

    charset utf-8;

    # access_log logs/yourserver_8002.access.log proxy;
    location / {
    	root /dataroot/webroot/html;
    }
    error_page  404              /404.html;
    error_page 500 502 503 504 /50x.html;
}

配置文件中的”root”配置项可以根据实际情况进行修改,侦听端口要与之前 V2ray 的 fallback 配置内容相对应。

如果配置文件有错,可以在 Nginx 的 http 配置块中加入如下内容解决:

    proxy_set_header X-Real-IP       $proxy_protocol_addr;
    proxy_set_header X-Forwarded-For $proxy_protocol_addr;

以上就完成了 V2ray 服务端的所有配置,重新启动 V2ray 和 Nginx 服务器,以使用配置生效。

3] V2ray 客户端配置

V2ray 客户端配置使用 VLESS 协议同使用 VMESS 协议区别不大,方便起见使用 V2rayN 进行演示。

首先手动添加一个 VLESS 服务器,会弹出如下窗口:

图.1 V2rayN 添加 VLESS 服务器

输入与 V2ray 服务器对应的地址、端口、用户ID 和服务器别名后,在底层传输安全中选择”tls”,并将跳过证书验证设置为”true”,就完成了客户端的全部设置。

配置完成后,点击确定保存配置。

全部完成后,就可以启动客户端,并进行扶墙验证了。

总体来说,VLESS 协议任然采用 TCP 连接,同时支持 tls 数据加密,不再需要使用 VMESS 协议的 ws 方式由 Web 服务器转发请求,性能上势必有提升。

通过使用情况来看,VLESS 协议工作比较稳定,性能上也不错,建议有条件的朋友可以尝试一下。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注