科学上网/翻墙/匿名之必备技能
注:本节原为 V2Ray 官网的配置案例中的一节,后来 V2Ray 将之删除,所以博主稍作修改传到此处
注意:使用了代理转发 streamSettings 会失效,即只能是非 TLS、无 HTTP 伪装的 TCP 传输协议。
实际操作
这里有一台位于日本的服务器,属私人节点,上面已经架设了v2ray服务(WebSocket + TLS + Web + CDN),配置和代理(软路由)结果如下
现在手上还有另一个节点的链接配置,位于荷兰,属万人捶公用节点,配置和代理(客户端)结果如下
希望流量使用链式转发,即是从:AUS(起点) -> JP -> NL-> (目标)。当前演示从JP服务器上中转
配置
{
"inbounds": [
{
"port": 10000,
"listen":"127.0.0.1",
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "****************************",
"alterId": 0
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/*******"
}
}
}
],
"outbounds": [
{
"protocol": "vmess",
"settings": {
"vnext": [
{
"address": "king6.workingoogle.ga",
"port": 8880,
"users": [
{
"alterId": 0,
"id": "050624ec-ba6a-49c3-e8d9-c46e5c167be0"
}
]
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/fh454hg4fthfh"
}
}
}
]
}
如图:
链式转发测试
配置好了重启v2ray服务刷新网页测试一下,使用日本的服务器却显示了荷兰的地址,成功!流量从AUS -> JP -> NL -> ip.me(目标)(就是延迟有点高)
多级转发
同理,不废话,这里又找到了一个中国的节点,期望流量从AUS(起点) -> JP -> NL -> CN -> (目标)
配置
{
"inbounds": [
{
"port": 10000,
"listen":"127.0.0.1",
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "************",
"alterId": 0
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/watch"
}
}
}
],
"outbounds": [
{
"protocol": "vmess",
"settings": {
"vnext": [
{
"address": "*******",
"port": 34567,
"users": [
{
"alterId": 0,
"id": "******"
}
]
}
]
},
"streamSettings": {
"network": "tcp"
},
"tag": "cnNode"
},
{
"protocol": "vmess",
"settings": {
"vnext": [
{
"address": "king6.workingoogle.ga",
"port": 8880,
"users": [
{
"alterId": 0,
"id": "050624ec-ba6a-49c3-e8d9-c46e5c167be0"
}
]
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/fh454hg4fthfh"
}
},
"tag": "nlNode",
"proxySettings": {
"tag": "cnNode"
}
}
]
}
多级转发测试
配置好后重启v2ray服务,如图(延迟相比更高了,试过上传文件没问题),使用日本的服务器却显示了中国的地址,成功!流量从AUS(起点) -> JP -> NL -> CN -> ip.me(目标)
以下内容皆为复制粘贴的,未经过任何测试
单个账户客户端
{
"outbounds": [
{
"protocol": "vmess",
"settings": { // settings 的根据实际情况修改
"vnext": [
{
"address": "1.1.1.1",
"port": 8888,
"users": [
{
"alterId": 64,
"id": "b12614c5-5ca4-4eba-a215-c61d642116ce"
}
]
}
]
},
"proxySettings": {
"tag": "transit" // 这里的 tag 必须跟作为代理 VPS 的 tag 一致,这里设定的是 "transit"
}
},
{
"protocol": "shadowsocks",
"settings": {
"servers": [
{
"address": "2.2.2.2",
"method": "aes-256-cfb",
"ota": false,
"password": "password",
"port": 1024
}
]
},
"tag": "transit"
}
]
}
多个 Shadowsocks 或 VMess 账户
{
"outbounds": [
{
"protocol": "vmess",
"settings": { // settings 的根据实际情况修改
"vnext": [
{
"address": "1.1.1.1",
"port": 8888,
"users": [
{
"alterId": 64,
"id": "b12614c5-5ca4-4eba-a215-c61d642116ce"
}
]
}
]
},
"tag": "DOUS",
"proxySettings": {
"tag": "DOSG"
}
},
{
"protocol": "shadowsocks",
"settings": {
"servers": [
{
"address": "2.2.2.2",
"method": "aes-256-cfb",
"ota": false,
"password": "password",
"port": 1024
}
]
},
"tag": "AliHK"
},
{
"protocol": "shadowsocks",
"settings": {
"servers": [
{
"address": "3.3.3.3",
"method": "aes-256-cfb",
"ota": false,
"password": "password",
"port": 3442
}
]
},
"tag": "AliSG",
"proxySettings": {
"tag": "AliHK"
}
},
{
"protocol": "vmess",
"settings": {
"vnext": [
{
"address": "4.4.4.4",
"port": 8462,
"users": [
{
"alterId": 64,
"id": "b27c24ab-2b5a-433e-902c-33f1168a7902"
}
]
}
]
},
"tag": "DOSG",
"proxySettings": {
"tag": "AliSG"
}
},
]
}
为了方便维护,或者从速度上的考虑,可以在国内架设一台中转 VPS,在这台 VPS 上判断目标地址是国内还是国外的,只需把国外的流量向国外 VPS 转发,而国内的流量使用直连。这样的配置,在用户的电脑只需要把所有流量发往这台 VPS,而不用为每一个用户都配置白名单,较为省力。
以下是中转服务的配置示例。
{
"log" : {
"access": "/var/log/v2ray/access.log",
"error": "/var/log/v2ray/error.log",
"loglevel": "warning"
},
"inbounds": [
{
"port": 1234,
"protocol": "vmess", // 入站协议为 VMess
"settings": {
"clients": [
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // UUID
"level": 1, // 用户等级
"alterId": 32 // 额外ID
},
// 在这里添加更多用户,注意UUID不能重复
{
"id": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy", // UUID
"level": 0, // 用户等级
"alterId": 32 // 额外ID
}
]
}
}
],
// ========== BEGIN STEP 1 ==========
// 国内中转服务器当作国外服务器的“客户端”
// 国际流量发往国外服务器上
"outbounds": [
{
"protocol": "vmess", // 出口协议
"settings": {
"vnext": [
{
"address": "1.2.3.4", // 国外服务器地址
"port": 23456, // 国外服务器端口
"users": [
{"id": "zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz"} // 用户 ID,须与国外服务器端配置相同
]
}
]
}
},
{
"protocol": "blackhole",
"settings": {},
"tag": "block"
},
// 增加 freedom 传出绕路,国内流量直接放行
{
"protocol": "freedom",
"tag": "direct",
"settings": {}
}
],
// ========== END STEP 1 ==========
"routing": { // 路由设置
"domainStrategy": "IPOnDemand",
"strategy": "rules",
"rules": [
{
"type": "field", // 不允许客户端访问服务端的局域网地址,以提升安全性
"ip": [
"geoip:private"
],
"outboundTag": "block"
},
// 配置国内网站和IP直连规则
{
"type": "field", // 对于一些常见的国内网站,也使用直连模式
"domain": [
"geosite:cn"
],
"outboundTag": "direct"
},
{
"type": "field", // 对于所有国内的 IP,都采用直连模式
"ip": [
"geoip:cn"
],
"outboundTag": "direct"
}
]
}
}