V2Ray路由规则配置详解:国内外分流策略
路由规则原理
V2Ray的路由(routing)功能是实现流量智能分流的核心机制。通过定义一系列规则,V2Ray可以根据流量特征(域名、IP、协议等)决定每个连接走哪个outbound(代理/直连/屏蔽)。
路由规则的匹配顺序是自上而下,命中第一条匹配规则即停止。因此规则的排列顺序非常重要,通常需要将更具体的规则放在前面,更通用的规则放在后面。
路由配置的基本结构:
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
// 屏蔽规则
// 直连规则(国内域名和IP)
// 代理规则(国外域名和IP)
// 默认规则
]
}
domainStrategy 决定域名解析策略:
AsIs:仅使用域名匹配,不做DNS解析(最快但可能不准确)IPIfNonMatch:域名规则未匹配时,解析域名获取IP再匹配IP规则(推荐)IPOnDemand:任何需要IP匹配的场景都做DNS解析(最准确但最慢)
域名规则配置
域名规则是最常用的分流方式,通过匹配请求的目标域名来决定流量走向:
"rules": [
{
"type": "field",
"domain": [
"geosite:cn", // 国内域名列表
"geosite:private", // 私有域名
"domain:example.com" // 精确域名匹配
],
"outboundTag": "direct"
},
{
"type": "field",
"domain": [
"geosite:google",
"geosite:github",
"domain:twitter.com"
],
"outboundTag": "proxy"
},
{
"type": "field",
"domain": [
"geosite:category-ads-all" // 广告域名
],
"outboundTag": "block"
}
]
域名匹配格式说明:
domain:xxx- 精确匹配,如domain:google.comfull:xxx- 完整匹配,与domain相同regexp:xxx- 正则匹配,如regexp:.*\.google\.comgeosite:xxx- 使用GeoSite数据库匹配keyword:xxx- 关键词匹配,如keyword:google
IP规则配置
IP规则通过匹配目标IP地址来分流,通常用于处理域名解析后的IP匹配:
"rules": [
{
"type": "field",
"ip": [
"geoip:cn", // 国内IP段
"geoip:private", // 私有IP
"192.168.0.0/16", // 指定网段
"10.0.0.0/8"
],
"outboundTag": "direct"
},
{
"type": "field",
"ip": [
"geoip:us", // 美国IP
"geoip:jp" // 日本IP
],
"outboundTag": "proxy"
}
]
IP匹配格式说明:
geoip:xxx- 使用GeoIP数据库匹配国家/地区IPCIDR格式- 如10.0.0.0/8匹配整个网段- 单个IP也可以直接填写
GeoIP数据库
V2Ray内置了GeoIP和GeoSite数据库,包含大量预定义的IP段和域名列表,是实现分流的重要工具。
常用GeoSite分类
geosite:cn- 中国大陆域名geosite:google- Google服务域名geosite:github- GitHub域名geosite:telegram- Telegram域名geosite:category-ads-all- 广告域名(全平台)geosite:netflix- Netflix域名geosite:openai- OpenAI/ChatGPT域名
常用GeoIP分类
geoip:cn- 中国大陆IPgeoip:us- 美国IPgeoip:jp- 日本IPgeoip:private- 私有IP(局域网)
如果内置数据库过时,可以手动更新:
# 下载最新的geoip.dat和geosite.dat
wget -O /usr/local/share/xray/geoip.dat https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geoip.dat
wget -O /usr/local/share/xray/geosite.dat https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geosite.dat
# 重启服务
systemctl restart xray
常用分流策略
策略一:白名单模式(推荐)
默认所有流量走代理,仅国内流量直连。适合大部分用户:
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"domain": ["geosite:category-ads-all"],
"outboundTag": "block"
},
{
"type": "field",
"domain": ["geosite:cn"],
"outboundTag": "direct"
},
{
"type": "field",
"ip": ["geoip:cn", "geoip:private"],
"outboundTag": "direct"
}
]
}
策略二:黑名单模式
默认所有流量直连,仅特定域名走代理。适合只需要代理少数网站的场景:
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"domain": ["geosite:google", "geosite:github", "geosite:telegram"],
"outboundTag": "proxy"
},
{
"type": "field",
"domain": ["geosite:category-ads-all"],
"outboundTag": "block"
}
]
}
推荐使用白名单模式,避免遗漏需要代理的网站。配合GeoSite和GeoIP数据库,可以实现精准高效的分流。
V2Ray