本文详细讲解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路由按顺序匹配,配置在前面的规则优先执行:
- IP规则(geoip:private、geoip:cn)
- 域名规则(geosite:category-ads-all、geosite:cn)
- 协议规则(tcp、udp)
- 端口规则(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匹配规则、代理组类型区别,可实现精细化流量控制,建议根据实际使用场景选择合适的协议和路由策略,定期更新节点以保证访问质量。
