V2Ray配置文件格式说明,结构语法与实战配置

本文详细讲解V2Ray配置文件的核心语法,包括入站出站协议配置、路由规则写法、流量分流策略及常见问题解决方案,帮助用户快速掌握V2Ray配置方法。

V2Ray配置文件基础结构

V2Ray采用JSON格式存储配置,核心由四部分组成:log日志配置、inbounds入站连接、outbounds出站代理、routing路由规则。

{
  "log": {
    "access": "/var/log/v2ray/access.log",
    "error": "/var/log/v2ray/error.log",
    "loglevel": "warning"
  },
  "inbounds": [
    {
      "tag": "vmess-in",
      "port": 10086,
      "protocol": "vmess",
      "settings": {
        "clients": [
          {
            "id": "b831381d-6324-4d53-ad4f-8cda48b30811",
            "alterId": 0
          }
        ]
      }
    }
  ],
  "outbounds": [
    {
      "tag": "proxy",
      "protocol": "vmess",
      "settings": {
        "vnext": [
          {
            "address": "example.com",
            "port": 10086,
            "users": [
              {
                "id": "b831381d-6324-4d53-ad4f-8cda48b30811",
                "alterId": 0
              }
            ]
          }
        ]
      }
    },
    {
      "tag": "direct",
      "protocol": "freedom",
      "settings": {}
    },
    {
      "tag": "block",
      "protocol": "blackhole",
      "settings": {}
    }
  ],
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "domain": ["geosite:category-ads-all"],
        "outboundTag": "block"
      },
      {
        "type": "field",
        "network": "tcp,udp",
        "outboundTag": "proxy"
      }
    ]
  }
}

入站出站协议配置

入站协议选择

协议类型 适用场景 端口配置
VMess 通用代理,支持中转 10086
VLESS 轻量协议,推荐使用 10087
Shadowsocks 兼容性好 10088
Trojan 伪装能力强 10089

出站协议配置

出站配置定义流量转发目标,常见协议包括:

  • VMess/VLESS:需要配置服务器地址、端口、用户ID
  • Shadowsocks:需指定加密方式和密码
  • Trojan:使用SSL证书伪装
  • Freedom:直连模式,用于国内访问
  • Blackhole:黑洞模式,用于广告拦截

路由规则与分流策略

规则匹配优先级

V2Ray路由按顺序匹配,配置在前面的规则优先执行:

  1. IP规则(geoip:private、geoip:cn)
  2. 域名规则(geosite:category-ads-all、geosite:cn)
  3. 协议规则(tcp、udp)
  4. 端口规则(80、443)

域名匹配方式

{
  "type": "field",
  "domain": [
    "domain:example.com",      // 域名包含
    "full:full.example.com",   // 完整域名匹配
    "keyword:google",          // 关键词匹配
    "regexp:.*\\.google\\.com$" // 正则表达式
  ],
  "outboundTag": "proxy"
}

IP匹配方式

{
  "type": "field",
  "ip": [
    "geoip:cn",           // 中国IP段
    "geoip:private",      // 私有地址
    "1.2.3.4/24"         // CIDR格式
  ],
  "outboundTag": "direct"
}

代理组配置方案

手动选择模式(Select)

适用于多节点场景,用户手动切换:

{
  "tag": "proxy-group",
  "type": "select",
  "outbounds": ["节点A", "节点B", "节点C"]
}

自动测速模式(URL-Test)

自动选择延迟最低的节点:

{
  "tag": "auto-group",
  "type": "url-test",
  "outbounds": ["节点A", "节点B"],
  "url": "http://www.gstatic.com/generate_204",
  "interval": 300
}

故障转移模式(Fallback)

主节点故障自动切换备用节点:

{
  "tag": "fallback-group",
  "type": "fallback",
  "outbounds": ["主节点", "备用节点"],
  "url": "http://www.gstatic.com/generate_204",
  "interval": 300
}

TUN模式与系统代理区别

特性 TUN模式 系统代理
流量接管 虚拟网卡层 HTTP/HTTPS层
UDP支持 完整支持 仅部分支持
游戏加速 适用 不适用
性能消耗 较高 较低
配置复杂度 需额外配置 简单

TUN模式通过创建虚拟网卡接管所有流量,适合游戏、UDP应用;系统代理仅处理HTTP/HTTPS请求,兼容性更好。

常见问题FAQ

配置文件格式错误导致无法启动

现象:V2Ray服务启动失败,提示JSON解析错误

原因:JSON语法错误,如逗号遗漏、引号不匹配

解决方法:使用在线JSON校验工具(如json.cn)检查格式,确保所有括号、引号配对完整

节点连接成功但无法访问外网

现象:客户端显示已连接,但浏览器无法打开网站

原因:路由规则配置错误,流量未正确转发至代理出站

解决方法:检查routing配置,确保outboundTag指向正确的代理出站,添加0.0.0/0默认规则

域名解析失败

现象:访问部分网站提示DNS解析失败

原因:国内DNS被污染,或路由规则中未包含目标域名

解决方法:在outbounds中添加DNS服务器配置,或使用dns字段指定可信DNS

代理速度慢、延迟高

现象:连接代理后网速下降明显

原因:节点带宽不足、延迟过高,或选择了低质量线路

解决方法:使用URL-Test代理组自动测速切换至最优节点,或更换高带宽线路

V2Ray配置文件核心在于入站出站协议定义、路由规则编写及代理组策略选择,掌握JSON语法、域名/IP匹配规则、代理组类型区别,可实现精细化流量控制,建议根据实际使用场景选择合适的协议和路由策略,定期更新节点以保证访问质量。

您可以还会对下面的文章感兴趣: