先举个栗子:博主有一台新加坡VPS,姑且称之为VPS2号,博主本地电信与VPS2号之间去程和回程都绕路,直连效果很差,但是VPS2号是当地原生IP,可以解锁Netflix非自制剧,可以看绝命毒师(带中文字幕)呀。那怎么办呢?诶呀,巧了,博主还有一台香港VPS,名为VPS1号,这VPS1号网络超级好,博主本地电信和VPS1号之间去程和回程都是CN2 GIA线路,根本不惧晚高峰,拿来上网太合适了;但是这VPS1号不是原生IP,不能解锁Netflix非自制剧,看不了绝命毒师呀。这可如何是好呢?问题来了:能不能用VPS1号直接转发流量到VPS2号上去呢?能不能通过VPS1连接到VPS2上看Netflix呢?答案是当然可以呀,只要VPS1号跟VPS2之间的网络传输质量没问题就行。

栗子举完了。介绍一下两台VPS情况:VPS1号为香港电信CN2 GIA线路,VPS2号为新加坡非国内直连线路;VPS1号和VPS2号之间延迟35ms左右,从VPS1号直接iperf3测试到VPS2号的上传与下载都可以跑满VPS1号的带宽(这个很重要);VPS2号连接Netflix的时候是直接在新加坡本地CDN上获取数据(这个更重要)。

先总结一下:在VPS1号上搭建宝塔面板+v2ray+VMess+Websocket(ws)+TLS,在VPS2号上搭建v2ray+VMess+TCP;使用搭建在VPS1号上的v2ray充当客户端连接到VPS2号,这种中转方法是将所有需要从VPS1上走的流量通过VPS2落地,达到解锁VPS2号当地流媒体或者需要当地IP落地的目的。网上中转教程很多,中转工具也很多,这只是其中一种,也是比较通用的方法,兼容包括梅林固件科学上网插件在内的所有客户端。本文为纯新手教程,大神请按Alt + F4。

高速VPS以及落地解锁VPS请移步到 HostCSR 去查看。

准备工作:确保两台VPS均为新安装的Debian 10系统。

步骤如下:
1、首先在VPS1上安装宝塔面板,并安装Nginx。

2、将域名解析到VPS1的IP地址,打开VPS1的宝塔面板,添加网站。

3、给网站加上HTTPS证书,


4、在VPS1和VPS2都安装v2ray,通过v2fly官方的v2ray一键脚本安装,命令如下:
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)
4.1、如下图所示,v2ray安装好了。

5、编辑VPS2上的v2ray config.json配置文件,以nano编辑为例。
nano /usr/local/etc/v2ray/config.json
5.1、nano编辑首次使用的时候有个编辑器选项,选第1个就行了,config.json打开之后里面只有”{}”,删掉,将下面代码全部复制粘贴进去。

{
    "log": {
        "loglevel": "warning"
    },
    "routing": {
        "domainStrategy": "AsIs",
        "rules": [
            {
                "type": "field",
                "ip": [
                    "geoip:private"
                ],
                "outboundTag": "block"
            }
        ]
    },
    "inbounds": [
        {
            "port": 10086,
            "protocol": "vmess",
            "settings": {
                "clients": [
                    {
                        "id": "9efb0601-54d8-4eac-a43a-662fa51fca1a"
                    }
                ]
            },
            "streamSettings": {
                "network": "tcp"
            }
        }
    ],
    "outbounds": [
        {
            "protocol": "freedom",
            "tag": "direct"
        },
        {
            "protocol": "blackhole",
            "tag": "block"
        }
    ]
}

5.2、如下图所示,里面的port和id是可以自己改的,如果不懂的话就别改了。

5.3、VPS2号上的v2ray config.json配置文件编辑完成之后,按一下Ctrl+O,再敲回车保存,之后按Ctrl+X退出nano编辑。

5.4、启动VPS2号上的v2ray,命令如下:
systemctl start v2ray
5.5、查看VPS2号上的v2ray是否为成功启动状态,命令如下:
systemctl status v2ray
5.6、如果显示如下图所示,则v2ray启动成功。(按Ctrl+C可退出状态查看)

6、在宝塔面板编辑VPS1号上的v2ray config.json配置文件,文件位置如下图所示。

6.1、将下方命令复制粘贴进去。

{
    "log": {
        "loglevel": "warning",
        "access": "/var/log/v2ray/access.log",
        "error": "/var/log/v2ray/error.log"
    },
    "routing": {
        "domainStrategy": "AsIs",
        "rules": [
            {
                "type": "field",
                "ip": ["geoip:private"],
                "outboundTag": "block"
            }
        ]
    },
    "inbound": {
        "streamSettings": {
            "network": "ws",
            "wsSettings": {
                "path": "/ws/",
                "headers": {
                    "Host": "hk-sg.eveaz.com"
                }
            }
        }, 
        "protocol": "vmess",
        "port": 10085,
        "settings": {
            "clients": [
                {
                    "alterId": 0,
                    "id": "8bd3d957-626a-4d62-be7a-5bc272557f00"
                }
            ]
        }
    },
    "outbounds": [
        {
            "protocol": "vmess",
            "settings": {
                "vnext": [
                    {
                        "address": "sg1.eveaz.com",
                        "port": 10086,
                        "users": [
                            {"id": "9efb0601-54d8-4eac-a43a-662fa51fca1a"}
                        ]
                    }
                ]   
            }
        },
        {
            "protocol": "freedom",
            "tag": "direct"
        },
        {
            "protocol": "blackhole",
            "tag": "block"
        }
    ]
}

6.2、如下图所示,标色的地方是需要按自身实际参数修改的,有几个需要注意的地方:

"Host": "hk-sg.eveaz.com" 这个域名需要改成你在VPS1上添加网站时候绑定的域名。
"address": "sg1.eveaz.com", 这个域名需要修改成你VPS2的IP地址。

7、编辑VPS1上搭建的网站的配置文件,添加如下代码:

    location /ws {
      proxy_redirect off;
      proxy_pass http://127.0.0.1:10085;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      proxy_set_header Host $host;
      # Show real IP in v2ray access.log
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

7.1、编辑后的网站配置文件如下图所示:

8、重启VPS1的Nginx服务,参照本文5.4~5.6步骤启动并查看VPS1上的v2ray是否启动成功;若启动成功,则在本地相应的客户端上添加VPS1的v2ray相关参数即可愉快的玩耍了。

9、确定科学上网正常,并且在相关外网的IP查看上看到的是VPS2的IP,那么本文基本上就结束了;在两台VPS上输入下方命令,让两台VPS上的v2ray随VPS系统启动。
systemctl enable v2ray

9.1、另外几个v2ray命令如下:
重启
systemctl restart v2ray
停止
systemctl stop v2ray
禁用开机启动
systemctl disable v2ray
生成新uuid即id
v2ctl uuid

本文完。

10、博主非要凑够10条,如果文章内容有错误或者遗漏的地方,还望指正,谢谢。

11、进阶版:如何用一台网络好的VPS来中转另一台网络差的VPS的流量之Netflix分流

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注