V2ray 服务端配置文件详解:从零理解 config.json 结构

V2ray 服务端搭建教程 / 浏览:1
2026.09.22分享SSR、V2Ray、Clash免费节点,包含美国、韩国、德国、日本、新加坡,免费节点仅供学习研究,请勿非法使用。 【查看详情】

如果你最近在折腾虚拟币,大概率会遇到一个尴尬:交易所 App 能打开,但行情页刷新转圈;链上钱包能广播交易,但区块浏览器查一笔确认数要等半分钟。原因不复杂——很多地区对金融类域名的 QoS 策略比普通网站严格得多。于是不少人开始自建 V2ray 节点,把行情、链上数据、社群消息的流量做分流。而自建节点的第一道门槛,不是买服务器,也不是选协议,而是看懂服务端那个 config.json

这篇文章不打算给你一个“复制粘贴就能跑”的配置模板。那种东西网上太多了,但一旦出问题,你连日志都读不懂。我们要做的是:把 V2ray 服务端配置文件的每一层结构拆开,告诉你每个字段为什么存在、不写会怎样、写错了会报什么错。同时,我会把虚拟币场景下的实际需求嵌进去——比如为什么炒币用户特别在意 sniffing、为什么 routing 规则里要单独给币安和 OKX 留一条直连、为什么 mux 在链上数据同步时反而可能帮倒忙。

一、先搞清楚 V2ray 服务端到底在做什么

很多人把 V2ray 当成“翻墙工具”,这个理解太窄了。V2ray 本质上是一个模块化的网络代理平台。服务端 config.json 的核心任务只有三件事:

  1. 定义入口(inbounds):客户端从哪里连进来,用什么协议、什么端口、什么加密方式。
  2. 定义出口(outbounds):流量最终怎么出去,是直连、走代理、还是黑洞掉。
  3. 定义路由(routing):什么流量走哪个入口、哪个出口,以及要不要做域名嗅探、IP 分流。

在虚拟币场景里,这三件事对应得非常具体。入口决定了你手机上的 V2ray 客户端能不能稳定握手;出口决定了你访问币安 API 时是走美国节点还是日本节点;路由决定了你查以太坊浏览器时是直连还是绕道,直接影响你看到 gas 费的时间差。

二、config.json 的顶层结构:五个必须存在的字段

一个合法的服务端配置,顶层至少要有 loginboundsoutboundsroutingpolicy 这五个部分。少一个,V2ray 启动时就会给你颜色看。

2.1 log:别小看日志,它决定了你爆仓后能不能复盘

"log": {   "access": "/var/log/v2ray/access.log",   "error": "/var/log/v2ray/error.log",   "loglevel": "warning" }

access 记录每一次连接,error 记录错误。loglevel 有五个级别:debug、info、warning、error、none。很多教程让你设成 warning,理由是省磁盘。但如果你在跑网格交易机器人,或者用脚本监控链上大额转账,建议临时设成 info。为什么?因为当你的机器人突然报“连接超时”时,warning 级别不会告诉你到底是 DNS 解析失败还是 TLS 握手被重置。而这两种情况在虚拟币场景下的处理方式完全不同:前者要换 DNS,后者要换伪装域名。

另外提醒一句:日志文件别放在系统盘。虚拟币用户往往同时跑多个节点和监控脚本,日志量比你想象的大。挂载一个独立的数据盘,或者至少用 logrotate 做切割。

2.2 inbounds:入口配置,决定客户端能不能连上

服务端通常只开一个入口,但协议选择很关键。目前主流是 VMess + WebSocket + TLS,或者 VLESS + TCP + XTLS。对于炒币用户,我强烈建议用 VLESS + WebSocket + TLS,原因后面讲。

"inbounds": [   {     "port": 443,     "protocol": "vless",     "settings": {       "clients": [         {           "id": "你的UUID",           "flow": "xtls-rprx-vision"         }       ],       "decryption": "none"     },     "streamSettings": {       "network": "ws",       "security": "tls",       "tlsSettings": {         "certificates": [           {             "certificateFile": "/etc/v2ray/cert.pem",             "keyFile": "/etc/v2ray/key.pem"           }         ]       },       "wsSettings": {         "path": "/你的路径"       }     },     "sniffing": {       "enabled": true,       "destOverride": ["http", "tls"]     }   } ]

逐字段拆解:

  • port:443 是最佳选择。不是因为它快,而是因为它最不显眼。虚拟币用户经常在公共 Wi-Fi 下操作,443 端口和普通 HTTPS 流量混在一起,不容易被针对性阻断。
  • protocol:VLESS 比 VMess 轻量,没有额外的加密层,延迟更低。对于需要快速刷新行情的场景,几十毫秒的差距可能就决定了你挂单能不能排在前面。
  • flowxtls-rprx-vision 是目前最推荐的流控方式,能有效对抗 TLS-in-TLS 检测。如果你还在用 xtls-rprx-direct,建议尽快换掉,那个已经被识别得很厉害了。
  • decryption:VLESS 不需要额外加密,固定写 none
  • sniffing:这是虚拟币场景下的重点。开启后,V2ray 会从 TLS 握手包里提取 SNI,从 HTTP 请求里提取 Host。这样你才能在 routing 里根据域名做分流。比如让 binance.com 走美国节点,让 okx.com 走日本节点,让 etherscan.io 直连。不开启 sniffing,routing 里的域名规则全部失效,只能按 IP 分流,而币安这种站点的 IP 经常变,按 IP 分流等于没分。

2.3 outbounds:出口配置,决定流量最终去哪

服务端通常配置两个出口:一个 freedom 用于直连,一个 blackhole 用于屏蔽。如果你要用链式代理,还可以加一个 socksshadowsocks 出口。

"outbounds": [   {     "protocol": "freedom",     "settings": {},     "tag": "direct"   },   {     "protocol": "blackhole",     "settings": {},     "tag": "blocked"   } ]

tag 是路由规则的抓手。后面在 routing 里写 "outboundTag": "direct",就是让匹配到的流量走直连。对于虚拟币用户,freedom 出口有一个隐藏参数值得关注:domainStrategy。默认是 AsIs,意思是按系统 DNS 解析结果直接连。但如果你在服务器上跑链上节点,比如以太坊的 geth,它需要频繁解析 mainnet.infura.io 这类域名。建议把 domainStrategy 设为 UseIP,强制 V2ray 自己解析域名,避免系统 DNS 被污染导致连到错误的 IP。

2.4 routing:分流规则,虚拟币用户的主战场

这是整个配置文件里最灵活、也最容易写错的部分。一个典型的虚拟币场景路由规则长这样:

"routing": {   "domainStrategy": "IPIfNonMatch",   "rules": [     {       "type": "field",       "domain": ["geosite:category-ads-all"],       "outboundTag": "blocked"     },     {       "type": "field",       "domain": ["binance.com", "binance.us"],       "outboundTag": "direct"     },     {       "type": "field",       "domain": ["okx.com", "oklink.com"],       "outboundTag": "direct"     },     {       "type": "field",       "domain": ["etherscan.io", "bscscan.com", "solscan.io"],       "outboundTag": "direct"     },     {       "type": "field",       "ip": ["geoip:private"],       "outboundTag": "blocked"     }   ] }

逐条解释:

  • 第一条:屏蔽广告域名。虚拟币用户经常访问各种行情站和空投查询站,这些站点的广告联盟往往包含恶意脚本,屏蔽掉能减少被钓鱼的风险。
  • 第二、三条:币安和 OKX 的域名走直连。为什么?因为你的服务器如果在日本,而币安对日本 IP 的风控策略和美国 IP 完全不同。直连意味着用你本地的网络出口去访问,风控画像更稳定。当然,前提是你本地网络能正常访问这些交易所。如果本地被墙,那就不能直连,必须走代理。所以这条规则要根据你的实际网络环境调整。
  • 第四条:区块浏览器直连。etherscan 这类站点对代理 IP 不太友好,经常弹验证码。直连能省去很多麻烦。
  • 第五条:私有 IP 屏蔽。防止内网探测。

还有一个关键字段:domainStrategy。它有三个值:AsIsIPIfNonMatchIPOnDemand。对于虚拟币用户,推荐 IPIfNonMatch。意思是先按域名匹配,匹配不上再解析成 IP 去匹配 IP 规则。这样既能享受域名分流的精准,又能兜底处理那些没有域名的纯 IP 连接,比如某些链上节点的 P2P 连接。

2.5 policy:策略配置,影响连接数和缓冲区

"policy": {   "levels": {     "0": {       "handshake": 4,       "connIdle": 300,       "uplinkOnly": 2,       "downlinkOnly": 5,       "statsUserUplink": false,       "statsUserDownlink": false,       "bufferSize": 10240     }   },   "system": {     "statsInboundUplink": false,     "statsInboundDownlink": false   } }

这些参数对虚拟币用户的实际影响:

  • handshake:握手超时时间,默认 4 秒。如果你在跑高频交易脚本,建议改成 2 秒。超过 2 秒还没握手成功,说明线路质量已经不行了,早点断开重连比死等更划算。
  • connIdle:连接空闲超时,默认 300 秒。对于需要保持长连接的 WebSocket 行情推送,这个值可以适当调大,比如 600 秒。但别太大,否则服务器资源会被僵尸连接占满。
  • bufferSize:缓冲区大小,默认 10KB。如果你在同步链上数据,比如从 Infura 拉取大区块,可以调到 512KB 甚至 1MB。但注意,这个值不是越大越好,太大会增加内存占用,小内存 VPS 容易 OOM。

三、虚拟币场景下的三个进阶配置

3.1 mux:多路复用,用对了省资源,用错了掉行情

mux 在客户端配置里更常见,但服务端也有对应参数。它的作用是把多个逻辑连接复用到一个 TCP 连接上,减少握手开销。对于浏览网页,这很有用。但对于虚拟币行情推送,我建议关闭 mux。为什么?因为 mux 会导致队头阻塞。一个连接里混了行情推送和普通网页请求,网页请求卡住,行情推送也得等着。在币价剧烈波动时,几秒钟的延迟可能就是几个点的差距。

3.2 DNS:别让 DNS 泄露你的炒币习惯

服务端的 DNS 配置在 dns 字段里,虽然顶层不是必须,但强烈建议加上:

"dns": {   "servers": [     {       "address": "1.1.1.1",       "domains": ["geosite:geolocation-!cn"]     },     {       "address": "8.8.8.8",       "domains": ["binance.com", "okx.com"]     }   ] }

这样配置的好处是:访问交易所域名时用 Google DNS,避免本地 DNS 污染;访问其他境外站点用 Cloudflare DNS,速度快。注意,DNS 查询本身也会走路由规则,所以别把 DNS 服务器配成被屏蔽的地址。

3.3 流量统计:如果你要按流量计费给朋友用

虚拟币圈子里经常有几个人合租一台服务器的情况。这时候 statspolicy 里的统计开关就派上用场了。打开 statsUserUplinkstatsUserDownlink,V2ray 会按用户记录流量。配合 API 接口,你可以写个脚本每天导出流量报表,按 USDT 结算。这比用第三方面板更安全,因为数据完全在自己手里。

四、常见错误与排查思路

最后说几个虚拟币用户最容易踩的坑:

  • 启动报错 “failed to parse config”:90% 是 JSON 格式问题。少逗号、多逗号、用了中文引号。建议用 jq . config.json 检查一遍。
  • 客户端连上但无法访问币安:先看日志里有没有 sniffing 相关报错。如果 sniffing 没开,routing 里的域名规则全部不生效,流量会走默认出口。默认出口如果是 blocked,那就什么都打不开。
  • 链上数据同步极慢:检查 bufferSizeconnIdle。另外,如果你用了 mux,先关掉试试。
  • 交易所弹出验证码:说明你的代理 IP 被风控了。这时候要么换 IP,要么把该交易所的域名改成直连。但直连的前提是你本地网络能访问。

配置文件不是背出来的,是改出来的。每改一个字段,重启一次服务,看一次日志,观察一次行情刷新速度。慢慢地,你就会形成自己的配置模板——那个模板里,藏着你对自己网络环境的理解,也藏着你在虚拟币市场里对速度和安全的那点执念。

版权申明:

作者: V2ray是什么?

链接: https://whatisv2ray.com/v2ray-server-setup/v2ray-config-json-explained.htm

来源: V2ray是什么?

文章版权归作者所有,未经允许请勿转载。

标签