V2Ray分流国内外流量,自定义路由规则实操

本文详解V2Ray分流国内外流量的配置方法,涵盖代理组类型选择、TUN模式与系统代理区别、分流规则语法及优先级,通过实际配置案例帮助跨境办公用户实现精准的流量分配。

分流原理与核心概念

V2Ray分流机制基于路由(Routing)模块,通过规则匹配决定流量直连或经代理转发,理解以下概念是配置前提:

  • 代理组:将多个节点组合为逻辑单元,通过策略分配流量
  • 规则:定义哪些流量走哪个代理组
  • 域名解析:规则匹配发生在DNS解析后,需结合分流需求设计

客户端选择与安装

根据设备类型选择对应客户端:

平台 推荐客户端 获取方式
Windows V2RayN GitHub Release下载
macOS V2RayX Homebrew或官网
Android V2RayNG APK直装或F-Droid
iOS Shadowrocket App Store付费

路由器用户推荐OpenWrt系统配合OpenClash插件,支持Meta内核。

配置步骤详解

基础配置结构

V2Ray配置文件采用JSON格式,核心字段如下:

{
  "log": {
    "loglevel": "warning"
  },
  "inbounds": [
    {
      "tag": "socks-in",
      "port": 10808,
      "listen": "127.0.0.1",
      "protocol": "socks"
    }
  ],
  "outbounds": [
    {
      "tag": "direct",
      "protocol": "freedom"
    },
    {
      "tag": "proxy",
      "protocol": "vmess",
      "settings": {
        "vnext": [
          {
            "address": "节点地址",
            "port": 端口,
            "users": [{"id": "UUID"}]
          }
        ]
      }
    }
  ],
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": []
  }
}

代理组配置

代理组定义流量分配策略:

"routing": {
  "group": [
    {
      "tag": "auto-group",
      "type": "url-test",
      "outbounds": ["proxy1", "proxy2"],
      "url": "http://www.gstatic.com/generate_204",
      "interval": 300
    },
    {
      "tag": "manual-group", 
      "type": "select",
      "outbounds": ["proxy1", "proxy2", "direct"]
    },
    {
      "tag": "fallback-group",
      "type": "fallback",
      "outbounds": ["proxy1", "proxy2"],
      "url": "http://www.gstatic.com/generate_204",
      "interval": 300
    }
  ]
}

代理组类型适用场景

  • select(手动选择):适合需要自行切换节点的用户,如办公场景
  • url-test(自动测速):自动选择延迟最低节点,适合日常访问
  • fallback(故障转移):主节点不可用时自动切换,适合追求稳定性的场景

分流规则配置

规则按顺序匹配,命中后执行对应操作:

"routing": {
  "rules": [
    {
      "type": "field",
      "domain": [
        "domain:google.com",
        "domain:youtube.com",
        "domain-suffix:github.com"
      ],
      "outboundTag": "proxy"
    },
    {
      "type": "field", 
      "ip": [
        "geoip:cn",
        "geoip:private"
      ],
      "outboundTag": "direct"
    },
    {
      "type": "field",
      "network": "tcp,udp",
      "outboundTag": "proxy"
    }
  ]
}

规则类型说明

  • DOMAIN:精确匹配域名
  • DOMAIN-SUFFIX:匹配域名后缀(如.com匹配所有.com域名)
  • IP-CIDR:匹配IP段(如0.0.0/8
  • GEOIP:匹配国家/地区代码(cn为中国大陆,private为私有地址)

优先级:规则从上往下依次匹配,命中后立即执行,建议将精确规则置于通用规则前。

TUN模式与系统代理区别

系统代理模式

仅接管HTTP/HTTPS/SOCKS协议流量,配置简单但存在局限:

  • 仅处理应用层代理请求
  • 不支持UDP流量(如游戏、VoIP)
  • 部分应用可能绕过代理

TUN模式

创建虚拟网卡接管所有流量:

{
  "inbounds": [
    {
      "tag": "tun-in",
      "port": 12345,
      "protocol": "tun",
      "settings": {
        "network": "tcp,udp"
      }
    }
  ]
}

适用场景

  • 游戏加速(需要UDP)
  • 完整流量控制
  • 路由器全局代理

常见问题FAQ

现象:部分国内网站访问缓慢

原因:DNS解析返回海外IP,导致流量绕道

解决方法:在规则中优先使用国内DNS,或添加domainStrategy: "IPIfNonMatch"策略

现象:节点显示连接成功但无法访问

原因:代理组策略为direct或规则顺序错误

解决方法:检查规则中是否存在outboundTag: "direct"的匹配规则,调整规则顺序

现象:游戏延迟忽高忽低

原因:url-test测速频率过高或节点质量不稳定

解决方法:将代理组类型改为select手动选择优质节点,或增加interval测速间隔

节点选择建议

不同使用场景对节点要求不同:

场景 推荐类型 关注指标
4K视频 高带宽专线 带宽≥100Mbps
游戏加速 低延迟线路 延迟<100ms
学术资源 稳定中转 稳定性>99%

选择节点时关注服务商口碑、线路类型(CN2/BGP/IPLC)及用户评价,避免仅看价格。

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