V2Ray Core 入门指南:安装、配置与基本使用


V2Ray Core 入门指南:安装、配置与基本使用

引言:为什么选择 V2Ray?

在当今复杂的网络环境中,用户对于网络连接的安全性、隐私性和自由性提出了越来越高的要求。无论是为了绕过地理限制访问特定内容、保护个人数据在公共网络上传输时的安全,还是为了增强匿名性,可靠的网络代理工具都显得至关重要。V2Ray 正是这样一款强大而灵活的网络工具。

V2Ray (Project V) 是一个核心框架,旨在提供一系列构建特定网络环境的工具。与许多单一协议的代理工具(如 Shadowsocks)不同,V2Ray 的核心优势在于其模块化设计多协议支持。它允许用户根据自身需求,自由组合不同的传入(Inbound)和传出(Outbound)协议、传输方式(Transport),并实现复杂的路由规则,从而构建出极其灵活、高效且难以被检测的网络代理解决方案。

V2Ray 的主要特点包括:

  1. 多协议支持: 内建支持多种代理协议,如 VMess(V2Ray 自研协议)、Shadowsocks、Socks5、HTTP/S 等,用户可以根据场景选择最合适的协议。
  2. 多种传输方式: 支持 TCP、mKCP(基于 KCP 协议优化)、WebSocket (WS)、HTTP/2 (H2)、QUIC 等多种底层传输协议,特别是 WebSocket 和 HTTP/2 可以与 TLS 结合,将代理流量伪装成正常的 HTTPS 流量,有效抵抗 GFW 等深度包检测(DPI)系统。
  3. 灵活的路由功能: V2Ray 拥有强大的内部路由机制,可以根据目标域名、IP 地址、来源 IP、端口、协议等多种条件进行流量分流,实现精细化控制(例如,国内网站直连,国外网站走代理)。
  4. 流量混淆与伪装: 通过 WebSocket + TLS 或 HTTP/2 + TLS 等方式,可以将代理流量完美融入常见的 Web 流量中,增加隐蔽性。
  5. 跨平台支持: V2Ray Core 可运行于 Windows、macOS、Linux 等主流操作系统,并有丰富的第三方 GUI 客户端支持移动平台(Android/iOS)。
  6. 开放与活跃社区: V2Ray 是开源项目,拥有庞大的用户群体和活跃的开发者社区,不断进行更新和维护。

本指南将详细介绍 V2Ray Core 的安装过程、核心配置文件(JSON 格式)的结构与关键参数解析,以及如何在服务器和客户端上进行基本配置和使用,旨在帮助初学者快速上手 V2Ray。

重要提示: 使用 V2Ray 等网络工具时,请务必遵守当地法律法规,并仅用于合法目的。滥用此类工具可能导致法律风险。

第一章:V2Ray Core 的安装

V2Ray Core 是命令行程序,没有图形用户界面。安装通常在服务器端进行,客户端则可以选择安装 Core 并手动配置,或者使用第三方开发的图形化客户端(GUI)。

1.1 Linux 服务器安装 (推荐)

在 Linux 服务器上安装 V2Ray Core 最常用且推荐的方式是使用官方提供的一键安装脚本。此脚本会自动检测系统并安装最新稳定版的 V2Ray Core,并配置 systemd 或 sysvinit 服务,方便管理。

前提条件:

  • 拥有一台可以访问外网的 Linux 服务器(推荐 CentOS 7+, Debian 9+, Ubuntu 16.04+)。
  • 拥有 root 或 sudo 权限。
  • 安装 curlunzip (通常系统自带,若没有则需手动安装,如 sudo apt update && sudo apt install curl unzip -ysudo yum update && sudo yum install curl unzip -y)。

安装步骤:

  1. 下载并执行官方安装脚本:
    打开终端,以 root 用户或具有 sudo 权限的用户执行以下命令:

    bash
    bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)

    或者,如果 GitHub 访问不畅,可以尝试使用 jsDelivr CDN 加速的脚本:

    bash
    bash <(curl -L https://cdn.jsdelivr.net/gh/v2fly/fhs-install-v2ray/install-release.sh)

    脚本会自动完成以下工作:
    * 下载最新的 V2Ray Core 程序。
    * 将其安装到 /usr/local/bin/v2ray
    * 将配置文件放置在 /usr/local/etc/v2ray/config.json
    * 将资源文件(如 geoip.dat, geosite.dat)放置在 /usr/local/share/v2ray/
    * 配置 systemd 或 sysvinit 服务,服务名为 v2ray
    * 如果存在旧版安装,脚本会尝试进行迁移。

  2. 启动 V2Ray 服务并设置开机自启:
    安装完成后,使用以下命令启动 V2Ray 服务,并设置为开机自动启动:

    ```bash

    启动 V2Ray

    sudo systemctl start v2ray

    设置开机自启

    sudo systemctl enable v2ray

    查看 V2Ray 状态

    sudo systemctl status v2ray

    停止 V2Ray

    sudo systemctl stop v2ray

    重启 V2Ray (修改配置后需要)

    sudo systemctl restart v2ray

    ```

    如果 systemctl status v2ray 显示 active (running),则表示 V2Ray 服务已成功启动。

1.2 Windows 系统安装

Windows 用户通常使用图形化客户端,这些客户端通常会内置或引导用户下载 V2Ray Core。但如果你想手动安装 V2Ray Core(例如,在 Windows 服务器上运行或进行调试):

  1. 下载 V2Ray Core:
    访问 V2Ray Core 的 GitHub Releases 页面:https://github.com/v2fly/v2ray-core/releases
    找到最新的稳定版本(通常标记为 "Latest"),在 "Assets" 部分下载适用于 Windows 的压缩包(通常是 v2ray-windows-64.zipv2ray-windows-32.zip,根据你的系统架构选择)。

  2. 解压文件:
    将下载的 .zip 文件解压到一个你选择的目录,例如 C:\v2ray。解压后,你会看到 v2ray.exe(核心程序)、wv2ray.exe(无控制台窗口版本)、config.json(示例配置文件)以及 geoip.datgeosite.dat 等资源文件。

  3. 运行 V2Ray Core:
    打开命令提示符 (cmd) 或 PowerShell,切换到你解压 V2Ray 的目录(如 cd C:\v2ray),然后运行:

    bash
    .\v2ray.exe -config config.json

    或者,如果你不希望看到命令行窗口(后台运行),可以运行 wv2ray.exe(注意:这样将无法直接看到日志输出):

    bash
    .\wv2ray.exe -config config.json

    为了方便管理,你可能需要将 V2Ray 配置为 Windows 服务,这通常需要使用第三方工具如 NSSM (Non-Sucking Service Manager)。

1.3 macOS 系统安装

macOS 用户同样可以选择图形化客户端,或者通过 Homebrew 或手动下载来安装 V2Ray Core。

  1. 使用 Homebrew 安装 (推荐):
    如果你的 macOS 安装了 Homebrew 包管理器,可以通过以下命令安装 V2Ray:

    bash
    brew install v2ray-core

    Homebrew 会将 V2Ray Core 安装到 /usr/local/bin/v2ray/opt/homebrew/bin/v2ray (Apple Silicon),配置文件通常位于 /usr/local/etc/v2ray/config.json/opt/homebrew/etc/v2ray/config.json
    使用 brew services 命令管理 V2Ray 服务:

    ```bash

    启动 V2Ray 服务并设置开机自启

    brew services start v2ray-core

    停止 V2Ray 服务

    brew services stop v2ray-core

    重启 V2Ray 服务

    brew services restart v2ray-core

    ```

  2. 手动下载安装:

    • 访问 V2Ray Core 的 GitHub Releases 页面。
    • 下载适用于 macOS 的压缩包(通常是 v2ray-macos-64.zipv2ray-macos-arm64-v8a.zip for Apple Silicon)。
    • 解压到一个合适的目录,例如 ~/v2ray
    • 打开终端,切换到该目录 (cd ~/v2ray),然后运行:

      bash
      ./v2ray -config config.json

    为了后台运行和开机自启,你可能需要手动创建 launchd 配置文件。

第二章:理解 V2Ray 配置文件 (config.json)

V2Ray 的所有行为都由一个 JSON 格式的配置文件驱动。这是 V2Ray 的核心和灵魂所在。理解配置文件的结构和关键字段至关重要。

默认配置文件路径(Linux 官方脚本安装):/usr/local/etc/v2ray/config.json

一个基本的 V2Ray 配置文件结构如下:

json
{
"log": { // 日志配置
"loglevel": "warning", // 日志级别: debug, info, warning, error, none
"access": "/var/log/v2ray/access.log", // 访问日志路径 (可选)
"error": "/var/log/v2ray/error.log" // 错误日志路径 (可选)
},
"inbounds": [ // 传入连接配置 (服务器端接收连接, 客户端接收本地应用连接)
{
"port": 10086, // 监听端口
"listen": "0.0.0.0", // 监听地址 (0.0.0.0 表示监听所有 IP)
"protocol": "vmess", // 主要协议
"settings": { // 协议特定设置
"clients": [
{
"id": "your-uuid-here", // 用户 UUID (必须与客户端一致)
"alterId": 64, // 额外 ID (建议与客户端一致)
"security": "auto" // 加密方式 (建议 auto)
}
]
},
"streamSettings": { // 底层传输配置
"network": "tcp", // 传输方式: tcp, kcp, ws, h2, quic
"security": "none", // 是否启用 TLS: none, tls
"tcpSettings": { // TCP 特定设置 (当 network 为 tcp 时)
"header": {
"type": "none" // 伪装类型 (可选)
}
}
},
"sniffing": { // 流量探测配置 (可选)
"enabled": true,
"destOverride": ["http", "tls"]
}
}
],
"outbounds": [ // 传出连接配置 (服务器端转发到目标网站, 客户端发送到服务器)
{
"protocol": "freedom", // 默认传出协议: freedom (直连)
"settings": {},
"tag": "direct" // 标签, 用于路由规则
},
{
"protocol": "blackhole", // 阻止连接协议
"settings": {},
"tag": "block" // 标签
}
],
"routing": { // 路由规则配置
"domainStrategy": "AsIs", // 域名解析策略
"rules": [ // 规则列表 (按顺序匹配)
{
"type": "field",
"ip": ["geoip:private"], // 匹配内网 IP
"outboundTag": "direct" // 路由到 direct 出口 (直连)
},
{
"type": "field",
"domain": ["geosite:cn"], // 匹配国内域名列表 (需要 geosite.dat)
"outboundTag": "direct" // 路由到 direct 出口
},
{
"type": "field",
"ip": ["geoip:cn"], // 匹配国内 IP 列表 (需要 geoip.dat)
"outboundTag": "direct" // 路由到 direct 出口
}
// 默认情况下,未匹配的流量会走第一个 outbound (通常是代理出口或 freedom)
]
},
"dns": { // DNS 配置 (可选, 但推荐配置)
"servers": [
"https://1.1.1.1/dns-query", // DoH (DNS over HTTPS)
"1.1.1.1",
"8.8.8.8",
"localhost" // 使用本地 DNS
]
},
"policy": { // 本地策略配置 (可选)
"levels": {
"0": { // 用户等级 0 的策略
"handshake": 4, // 连接建立阶段的超时 (秒)
"connIdle": 300, // 连接空闲超时 (秒)
"uplinkOnly": 0, // 上行流量限制 (KB/s, 0 不限制)
"downlinkOnly": 0 // 下行流量限制 (KB/s, 0 不限制)
}
},
"system": {
"statsInboundUplink": true,
"statsInboundDownlink": true
}
},
"transport": { // 全局传输配置 (可选, 会被 streamSettings 覆盖)
// 例如: kcp 全局设置
"kcpSettings": {
"mtu": 1350,
"tti": 50,
"uplinkCapacity": 5,
"downlinkCapacity": 20,
"congestion": false,
"readBufferSize": 1,
"writeBufferSize": 1
}
}
// 其他模块如: api, stats 等
}

关键配置块解析:

  1. log: 控制日志记录。loglevel 决定了记录信息的详细程度,调试时可设为 debuginfo,平时用 warningerror。指定日志文件路径可以方便排查问题。
  2. inbounds: 定义 V2Ray 如何接收来自外部(服务器)或内部(客户端)的连接。
    • port, listen: 监听的端口和地址。
    • protocol: 处理这个连接的主要协议,如 vmess, shadowsocks, socks, http
    • settings: 该协议的具体参数。
      • 对于 vmess (服务器端): clients 数组包含允许连接的用户信息,最重要的是 id (UUID,必须唯一且与客户端匹配) 和 alterId (额外 ID,增强安全性)。
      • 对于 sockshttp (客户端): 可以配置认证等。
    • streamSettings: 配置底层数据流的传输方式。
      • network: 选择传输协议 (tcp, kcp, ws, h2, quic)。
      • security: 是否启用 TLS 加密 (nonetls)。
      • tcpSettings, kcpSettings, wsSettings, httpSettings, quicSettings: 对应传输协议的详细设置。例如 wsSettings 中的 path (WebSocket 路径)。tlsSettings 用于配置 TLS 证书路径和 serverName (SNI)。
    • sniffing: 流量嗅探,可以识别流量类型(如 HTTP, TLS)并根据域名进行路由,非常有用。
  3. outbounds: 定义 V2Ray 如何将处理后的数据发送出去。
    • protocol: 发送数据使用的协议。
      • freedom: 直接连接目标地址(常用于直连国内流量)。
      • blackhole: 阻止连接(常用于屏蔽广告)。
      • vmess, shadowsocks 等 (客户端): 配置连接到远程 V2Ray 服务器的参数,包括服务器地址 address、端口 port、用户 idalterIdsecurity 等。
    • settings: 协议的具体参数。
    • streamSettings: 与 inbounds 类似,配置与远程服务器连接的底层传输方式。客户端的 outboundsstreamSettings 必须与服务器端 inboundsstreamSettings 匹配!
    • tag: 每个 outbound 必须有一个唯一的标签(tag),用于路由规则指定出口。第一个 outbound 通常是默认出口。
  4. routing: V2Ray 的核心功能之一,定义流量分发规则。
    • domainStrategy: 域名解析策略 (AsIs, IPIfNonMatch, IPOnDemand)。
    • rules: 一个规则列表,V2Ray 按顺序匹配。
      • type: 规则类型,通常是 field
      • domain, ip, port, network, source, user, inboundTag, protocol 等:匹配条件。可以使用 geosite:geoip: 前缀来引用预定义的域名/IP 列表(需要 geosite.datgeoip.dat 文件)。
      • outboundTag: 如果匹配成功,将流量导向指定标签的 outbound
  5. dns: 配置 V2Ray 使用的 DNS 服务器。推荐使用 DoH (DNS over HTTPS) 或 DoT (DNS over TLS) 以防止 DNS 污染。配置可靠的境外 DNS 对于代理国外流量非常重要。
  6. policy: 配置用户等级相关的策略,如连接超时、速度限制等。
  7. transport: 全局传输设置,可以为所有 streamSettings 提供默认值。

第三章:基本配置示例

下面提供两个常见的配置场景示例:简单的 VMess + TCP 和更推荐的 VMess + WebSocket + TLS。

示例一:VMess + TCP (简单,易被识别)

这种配置最基础,但 TCP 流量特征明显,容易被检测和干扰。

服务器端 /usr/local/etc/v2ray/config.json:

json
{
"log": {
"loglevel": "warning"
},
"inbounds": [
{
"port": 23456, // 自定义端口
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "b831381d-6324-4d53-ad4f-8cda48b30811", // **替换为你自己生成的 UUID**
"alterId": 64
}
]
},
"streamSettings": {
"network": "tcp"
}
}
],
"outbounds": [
{
"protocol": "freedom",
"tag": "direct"
}
]
}

重要:
* 请使用 V2Ray 提供的命令 v2ray uuid 或在线 UUID 生成器生成一个唯一的 UUID,替换上面示例中的 id
* 确保服务器防火墙(如 firewalldiptables)允许外部访问你设置的端口(本例中为 23456)。例如,使用 firewalld: sudo firewall-cmd --zone=public --add-port=23456/tcp --permanentsudo firewall-cmd --reload

客户端配置 (手动配置或填入 GUI 客户端):

json
{
"log": {
"loglevel": "warning"
},
"inbounds": [ // 本地 SOCKS5 代理入口
{
"port": 10808, // 本地监听端口
"listen": "127.0.0.1",
"protocol": "socks",
"settings": {
"auth": "noauth", // 不需要认证
"udp": true // 允许 UDP 转发
}
}
],
"outbounds": [
{ // 连接到 V2Ray 服务器
"protocol": "vmess",
"settings": {
"vnext": [
{
"address": "your_server_ip", // **替换为你的服务器 IP 地址**
"port": 23456, // 与服务器端 inbounds port 一致
"users": [
{
"id": "b831381d-6324-4d53-ad4f-8cda48b30811", // **与服务器端 id 一致**
"alterId": 64, // 与服务器端 alterId 一致
"security": "auto" // 加密方式,保持 auto 即可
}
]
}
]
},
"streamSettings": {
"network": "tcp" // 与服务器端 network 一致
},
"tag": "proxy" // 代理出口标签
},
{
"protocol": "freedom",
"tag": "direct" // 直连出口标签
}
],
"routing": { // 简单的路由规则:所有流量走代理
"rules": [
{
"type": "field",
"network": "tcp,udp", // 匹配所有 TCP 和 UDP 流量
"outboundTag": "proxy" // 发送到 proxy 出口
}
]
}
}

客户端使用:
1. 将上述客户端配置保存为 config.json
2. 运行 V2Ray Core (v2ray -config config.jsonv2ray.exe -config config.json)。
3. 配置你的应用程序(如浏览器)使用 SOCKS5 代理,地址为 127.0.0.1,端口为 10808

示例二:VMess + WebSocket + TLS (推荐,伪装性好)

这种配置将 V2Ray 流量封装在标准的 WebSocket 协议中,并通过 TLS 加密,使其看起来与普通的 HTTPS 网站流量无异,大大提高了抗检测能力。

前提条件:

  • 你需要拥有一个域名,并将其解析到你的服务器 IP 地址。
  • 你需要在服务器上安装一个 Web 服务器 (如 Nginx 或 Caddy) 来处理 TLS 证书并反向代理 WebSocket 请求。
  • 你需要申请一个 TLS 证书 (可以使用 Let's Encrypt 提供的免费证书)。

步骤概览:

  1. 域名解析: 将你的域名 (例如 yourdomain.com 或子域名 sub.yourdomain.com) 解析到服务器 IP。
  2. 安装 Web 服务器: 以 Nginx 为例:sudo apt install nginxsudo yum install nginx
  3. 申请 TLS 证书: 推荐使用 certbot 自动申请和续签 Let's Encrypt 证书。
    bash
    sudo apt install certbot python3-certbot-nginx # Debian/Ubuntu
    sudo yum install certbot python3-certbot-nginx # CentOS/RHEL
    sudo certbot --nginx -d yourdomain.com # 申请证书并自动配置 Nginx

    Certbot 会自动修改 Nginx 配置以启用 HTTPS。
  4. 配置 Nginx 反向代理 WebSocket:
    编辑 Nginx 的站点配置文件 (通常在 /etc/nginx/conf.d//etc/nginx/sites-available/ 下,certbot 可能已为你创建好),在 server 块中添加一个 location 用于处理 WebSocket 请求:

    ```nginx
    server {
    listen 443 ssl http2; # 监听 443 端口 (HTTPS)
    listen [::]:443 ssl http2;

    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem; # Certbot 生成的证书路径
    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem; # Certbot 生成的私钥路径
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    
    server_name yourdomain.com; # 你的域名
    
    # 其他网站相关的配置... (可选,可以放一个静态网页)
    # root /var/www/html;
    # index index.html index.htm;
    
    location /your_websocket_path { # **重要:自定义一个隐蔽的路径**
        if ($http_upgrade != "websocket") { # 如果不是 WebSocket 请求,返回 404
            return 404;
        }
        proxy_redirect off;
        proxy_pass http://127.0.0.1:10000; # **重要:转发到 V2Ray 监听的内网地址和端口**
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        # Show realip in v2ray access.log
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    

    }

    可选:将 HTTP 请求重定向到 HTTPS

    server {
    listen 80;
    listen [::]:80;
    server_name yourdomain.com;
    return 301 https://$host$request_uri;
    }
    ``
    * 将
    yourdomain.com替换为你的域名。
    * 将
    /your_websocket_path替换为你自定义的 WebSocket 路径,例如/ray/app等,不要使用过于明显的/ws
    *
    proxy_pass http://127.0.0.1:10000;中的10000是 V2Ray 将要监听的端口,确保这个端口只监听在127.0.0.1上,不暴露到公网。
    * 修改配置后,检查 Nginx 配置语法:
    sudo nginx -t,然后重新加载 Nginx:sudo systemctl reload nginx`。

  5. 配置 V2Ray 服务器端 (/usr/local/etc/v2ray/config.json):

    json
    {
    "log": {
    "loglevel": "warning"
    },
    "inbounds": [
    {
    "port": 10000, // **与 Nginx proxy_pass 中的端口一致**
    "listen": "127.0.0.1", // **只监听本地回环地址,由 Nginx 转发**
    "protocol": "vmess",
    "settings": {
    "clients": [
    {
    "id": "b831381d-6324-4d53-ad4f-8cda48b30811", // **替换为你自己生成的 UUID**
    "alterId": 64
    }
    ]
    },
    "streamSettings": {
    "network": "ws", // **传输方式改为 WebSocket**
    "security": "none", // **TLS 由 Nginx 处理,V2Ray 层面不需要**
    "wsSettings": {
    "path": "/your_websocket_path" // **与 Nginx location 中的路径一致**
    }
    }
    }
    ],
    "outbounds": [
    {
    "protocol": "freedom",
    "tag": "direct"
    }
    ]
    }

    修改完成后,重启 V2Ray:sudo systemctl restart v2ray

  6. 配置 V2Ray 客户端:

    json
    {
    "log": {
    "loglevel": "warning"
    },
    "inbounds": [
    {
    "port": 10808,
    "listen": "127.0.0.1",
    "protocol": "socks",
    "settings": {
    "auth": "noauth",
    "udp": true
    }
    }
    ],
    "outbounds": [
    {
    "protocol": "vmess",
    "settings": {
    "vnext": [
    {
    "address": "yourdomain.com", // **替换为你的域名**
    "port": 443, // **连接 Nginx 的 HTTPS 端口**
    "users": [
    {
    "id": "b831381d-6324-4d53-ad4f-8cda48b30811", // **与服务器端 id 一致**
    "alterId": 64,
    "security": "auto"
    }
    ]
    }
    ]
    },
    "streamSettings": {
    "network": "ws", // **与服务器端 network 一致**
    "security": "tls", // **启用 TLS**
    "wsSettings": {
    "path": "/your_websocket_path" // **与服务器端 path 一致**
    },
    "tlsSettings": {
    "serverName": "yourdomain.com" // **SNI,必须与你的域名一致**
    // "allowInsecure": false, // 通常不需要,除非使用自签名证书
    // "alpn": ["http/1.1"] // 可以指定 ALPN
    }
    },
    "tag": "proxy"
    },
    {
    "protocol": "freedom",
    "tag": "direct"
    }
    ],
    "routing": { // 这里可以使用更完善的路由规则
    "domainStrategy": "IPIfNonMatch",
    "rules": [
    {
    "type": "field",
    "ip": ["geoip:private", "geoip:cn"], // 国内和私有 IP 直连
    "outboundTag": "direct"
    },
    {
    "type": "field",
    "domain": ["geosite:cn"], // 国内域名直连
    "outboundTag": "direct"
    },
    { // 其他所有流量走代理
    "type": "field",
    "network": "tcp,udp",
    "outboundTag": "proxy"
    }
    ]
    },
    "dns": { // 推荐配置境外 DNS
    "servers": [
    "https://1.1.1.1/dns-query",
    "8.8.8.8",
    "1.1.1.1"
    ]
    }
    }

    客户端使用:
    * 将上述配置保存为 config.json
    * 更新 geoip.datgeosite.dat 文件以使路由规则生效(如果使用官方脚本安装,通常会自动更新;手动安装需要自行下载)。
    * 运行 V2Ray Core。
    * 配置应用程序使用 127.0.0.1:10808 的 SOCKS5 代理。

第四章:基本使用与管理

4.1 启动、停止、重启 V2Ray 服务

  • Linux (Systemd):

    • 启动: sudo systemctl start v2ray
    • 停止: sudo systemctl stop v2ray
    • 重启: sudo systemctl restart v2ray
    • 查看状态: sudo systemctl status v2ray
    • 设置开机启动: sudo systemctl enable v2ray
    • 取消开机启动: sudo systemctl disable v2ray
    • 查看日志: sudo journalctl -u v2ray -f --no-pager (实时跟踪) 或 sudo journalctl -u v2ray (查看历史)
  • Windows (手动运行):

    • 启动: 在 V2Ray 目录下打开 cmd 或 PowerShell,运行 .\v2ray.exe -config config.json
    • 停止: 在运行 v2ray.exe 的命令行窗口按 Ctrl + C
    • 后台运行: 使用 .\wv2ray.exe -config config.json 启动,停止需要通过任务管理器结束进程。或者配置为 Windows 服务。
  • macOS (Homebrew):

    • 启动: brew services start v2ray-core
    • 停止: brew services stop v2ray-core
    • 重启: brew services restart v2ray-core
    • 查看日志: 日志文件通常在 /usr/local/var/log/v2ray/error.log/opt/homebrew/var/log/v2ray/error.log (具体路径可在 homebrew.mxcl.v2ray-core.plist 文件中找到)。

4.2 客户端连接

大多数用户会使用图形化 (GUI) 客户端,它们简化了配置和切换服务器的过程。

常见的 V2Ray GUI 客户端:

  • Windows: V2RayN (推荐), Clash for Windows (也支持 V2Ray 协议)
  • macOS: V2RayX (较旧), V2RayU (推荐), Qv2ray (跨平台), ClashX (也支持 V2Ray)
  • Linux: Qv2ray (推荐)
  • Android: V2RayNG (推荐), BifrostV
  • iOS: Shadowrocket (小火箭, 收费), Quantumult X (圈 X, 收费), Kitsunebi (收费)

使用 GUI 客户端的基本步骤:

  1. 下载并安装 适合你操作系统的 GUI 客户端。
  2. 添加服务器配置:
    • 手动添加: 根据服务器提供的参数(地址、端口、UUID、alterId、传输协议、路径、TLS 等)在客户端界面中填写。
    • 通过 Vmess 链接导入: 服务器管理员可能会提供一个 vmess:// 开头的链接,大多数客户端支持直接从剪贴板或扫描二维码导入。
    • 通过订阅链接导入: 如果你使用机场服务,通常会提供一个订阅链接,客户端可以从该链接批量获取服务器配置并自动更新。
  3. 选择服务器节点启用代理
  4. 配置系统代理模式:
    • 全局模式 (Global): 所有网络流量都通过 V2Ray 代理。
    • PAC 模式 (Proxy Auto-Config): 根据一个 PAC 文件定义的规则(通常是区分国内外网站)来决定哪些流量走代理,哪些直连。
    • 手动模式 (Manual): V2Ray 只监听本地端口(如 10808 SOCKS5, 10809 HTTP),需要应用程序手动配置代理。
    • 路由模式 (部分客户端支持): 完全由 V2Ray Core 的路由规则决定流量走向。

对于浏览器,推荐安装 SwitchyOmega 扩展,可以方便地在不同代理设置(包括系统代理、V2Ray 提供的 SOCKS5/HTTP 代理)之间切换。

4.3 更新 V2Ray Core 及资源文件

  • Linux (官方脚本安装): 重新运行安装脚本即可更新 V2Ray Core 到最新版本:
    bash
    bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)

    资源文件 (geoip.dat, geosite.dat) 通常也会随脚本更新。

  • 手动安装: 需要去 GitHub Releases 页面下载新版本,替换旧的 v2ray / v2ray.exe 可执行文件。资源文件也需要手动下载替换。

  • Homebrew (macOS):
    bash
    brew update
    brew upgrade v2ray-core

  • GUI 客户端: 客户端本身通常会内置或自动下载更新 V2Ray Core。

第五章:常见问题与排查

  1. 连接失败/无法上网:

    • 检查服务器 V2Ray 服务是否运行: sudo systemctl status v2ray (Linux)。
    • 检查服务器防火墙: 确保 V2Ray 使用的端口(如 TCP/UDP 23456 或 Nginx 使用的 443)已开放。
    • 检查客户端配置: 地址、端口、UUID、alterId、传输方式、路径、TLS 设置是否与服务器完全一致?特别是 idpath
    • 检查域名解析: 如果使用域名,确保域名正确解析到服务器 IP。
    • 检查服务器/客户端时间: VMess 协议对时间敏感,服务器和客户端时间误差不能太大(建议不超过 1 分钟),请确保系统时间同步。sudo timedatectl set-ntp true (Linux)。
    • 查看 V2Ray 日志: 将服务器和客户端的 loglevel 设为 infodebug,重启 V2Ray,然后尝试连接并查看日志文件中的错误信息 (/var/log/v2ray/error.logjournalctl -u v2ray)。
    • 检查 Nginx 配置 (如果使用 WS+TLS): Nginx 是否运行?配置是否正确?sudo nginx -t 检查语法,sudo systemctl status nginx 查看状态,查看 Nginx 的错误日志 (/var/log/nginx/error.log)。
    • TLS 证书问题 (如果使用 WS+TLS): 证书是否有效?是否过期?客户端 tlsSettings 中的 serverName 是否与证书域名匹配?
  2. 配置文件格式错误:
    V2Ray 启动失败,日志中通常会提示 JSON 解析错误。使用在线 JSON 校验工具检查你的 config.json 语法是否正确,注意逗号、括号、引号的使用。

  3. 路由规则不生效:

    • 确保 geoip.datgeosite.dat 文件存在且是最新的,路径配置正确(官方脚本安装通常无需关心)。
    • 检查路由规则的顺序,V2Ray 按顺序匹配,第一条匹配的规则生效。
    • 检查匹配条件是否正确(domain, ip 等)。
    • 使用 debug 日志级别可以观察流量的路由决策过程。
  4. 速度慢:

    • 可能是服务器线路质量问题。
    • 尝试更换传输协议 (如 TCP 换 mKCP 或 WS)。
    • 检查服务器资源(CPU、内存、带宽)是否足够。
    • 如果是 mKCP,尝试调整 kcpSettings 参数 (需要经验)。
    • 可能是运营商 QOS 干扰。

结语

V2Ray Core 是一款功能极其强大的网络工具,虽然初次接触时其配置文件的复杂性可能会让人望而却步,但一旦掌握了其核心概念(inbounds, outbounds, routing, streamSettings)和配置方法,你就能体会到它无与伦比的灵活性和可定制性。

本指南从安装入手,详细解析了配置文件的结构和关键参数,并提供了两种常见的配置示例,最后介绍了基本的使用管理和故障排查方法。这仅仅是 V2Ray 世界的冰山一角,V2Ray 还支持更高级的功能,如负载均衡、多入口多出口、透明代理、反向代理、API 控制等等,等待你去探索。

强烈建议在实践中多参考 V2Ray 官方文档 (https://www.v2fly.org/),它是最权威、最全面的信息来源。通过不断尝试和学习,你将能够构建出满足自己需求的、稳定高效的网络代理环境。

再次提醒,请合理并合法使用 V2Ray。祝你使用愉快!


THE END