本文记录一下搭建v2ray搭建的详细过程,方便以后用到直接拿来复制粘贴。本人使用的Cloudflare+v2ray搭配组合的方式 所以没有申请ssl证书的步骤 另caddy申请证书全自动方便只需提供邮箱即可。

安装前准备 纯ipv6 vps参考 带ipv4主机可直接跳过

纯ipv6 vps无法直接访问ipv4网站,需要参考下面两个方法实现ipv4访问。推荐方法2

方法一、添加dns64 实现ipv4访问

此方法访问ipv4网站速度一言难尽,所以不推荐但可以记录下,以备不时之需。
修改/etc/resolv.conf文件
#注释掉原来的内容,添加以下内容

1
2
nameserver 2001:67c:2b0::4
nameserver 2001:67c:2b0::6

上面使用的是trex.fi提供的dns64服务,
类似的服务还有go6lab.si

方法二 、安装WARP服务实现ipv4访问

WARP是CloudFlare提供的一项基于WireGuard的网络流量安全及加速服务,能够让你通过连接到CloudFlare的边缘节点实现隐私保护及链路优化。
其连接入口为双栈(IPv4/IPv6均可),且连接后能够获取到由CF提供基于NAT的IPv4和IPv6地址,因此我们的单栈服务器可以尝试连接到WARP来获取额外的网络连通性支持。这样我们就可以让仅具有IPv6的服务器访问IPv4,也能让仅具有IPv4的服务器获得IPv6的访问能力。
我们要安装的WARP项目来自 https://github.com/fscarmen/warp
具体步骤及介绍可以点击链接查看

1
2
3
4
wget -N https://cdn.jsdelivr.net/gh/fscarmen/warp/menu.sh && bash menu.sh 1
一路默认回车就可以了
安装完成后就可正常使用 之后就可以通过
warp o 命令进行开关 具体参数参考下方

参数介绍

[option] 变量1 变量2具体动作说明
h帮助
1原生IPv4 -> (原生IPv4 + WARP IPv6) 或者 原生IPv6 -> (WARP IPv4 + 原生IPv6)
1 lisence name把 WARP+ Lisence 和设备名添加进去,如 bash menu.sh 1 N5670ljg-sS9jD334-6o6g4M9F Goodluck
2原无论任何状态 -> WARP 双栈
2 lisence name把 WARP+ Lisence 和设备名添加进去,如 bash menu.sh 2 N5670ljg-sS9jD334-6o6g4M9F Goodluck
oWARP 开关,脚本主动判断当前状态,自动开或关
u卸载 Warp
n断网时,用于刷WARP网络 (WARP bug)
b升级内核、开启BBR及DD
d免费 WARP 账户升级 WARP+
d lisence在上面基础上把 WARP+ Lisence 添加进去,如 bash menu.sh d N5670ljg-sS9jD334-6o6g4M9F
p刷 Warp+ 流量
c安装 WARP Linux Client,开启 Socks5 代理模式
c lisence在上面基础上把 WARP+ Lisence 添加进去,如 bash menu.sh c N5670ljg-sS9jD334-6o6g4M9F
rWARP Linux Client 开关
v同步脚本至最新版本
i更换 WARP IP
其他或空值菜单界面

开始安装

注:

安装了nginx或Apache的用户可以不需要下载和配置caddy, 在下列步骤中自行剔除caddy方面的配置,caddy与nginx、Apache三者作用一样,前者新秀方便灵活 后两者老牌 性能高和稳定
nginx用户按照下列配置 #注释部分在不需要设置ssl的情况下可以省略 不需复制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#server {
# listen 443 ssl;
# ssl on;
# ssl_certificate /etc/v2ray/v2ray.crt;
# ssl_certificate_key /etc/v2ray/v2ray.key;
# ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# ssl_ciphers HIGH:!aNULL:!MD5;
# server_name mydomain.me;
location /ray { # 与 V2Ray 配置中的 path 保持一致
proxy_redirect off;
proxy_pass http://127.0.0.1:10000; #假设WebSocket监听在环回地址的10000端口上
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;

# Show realip in v2ray access.log
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

Apache用户按照下列配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<VirtualHost *:443>
ServerName mydomain.me
SSLCertificateFile /etc/v2ray/v2ray.crt
SSLCertificateKeyFile /etc/v2ray/v2ray.key

SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2
SSLCipherSuite HIGH:!aNULL

<Location "/ray/">
ProxyPass ws://127.0.0.1:10000/ray/ upgrade=WebSocket
ProxyAddHeaders Off
ProxyPreserveHost On
RequestHeader append X-Forwarded-For %{REMOTE_ADDR}s
</Location>
</VirtualHost>

caddy与V2ray下载安装

分别下载caddyv2ray

1
2
3
4
5
6
7
8
9
//以下命令分别执行
apt install -y unzip zip
mkdir /v2
cd /v2
wget --no-check-certificate "https://github.com/caddyserver/caddy/releases/download/v2.4.6/caddy_2.4.6_linux_amd64.tar.gz" -O - | tar -xzv caddy
// 下载安装caddy
wget --no-check-certificate "https://github.com/v2fly/v2ray-core/releases/download/v4.44.0/v2ray-linux-64.zip" && unzip -o v2ray-linux-64.zip v2ray v2ctl geosite.dat geoip.dat && rm v2ray-linux-64.zip
// 下载解压v2ray
chmod +x caddy v2ray v2ctl

caddy配置

在当前目录下新建caddy配置文件 Caddyfile 注意大小写 并进行编辑 root目录自己设置 path目录自己设置

1
vim Caddyfile

然后在Caddyfile文件里输入以下代码并保存 注意:如果需要caddy自动申请ssl证书的话,需要把第一行网址改为http改为https,如果需要走Cloudflare代理(点亮小云朵)的话可以按照下面默认设置即可 在CloudFlare里设置SSL为灵活。

1
2
3
4
5
6
7
8
9
10
11
12
13
http://你的网址 {
root * /vwww/cloud
file_server browse
log {
output file /vwww/caddy.log
}
@v2ray_websocket {
path /cloud1
header Connection *Upgrade*
header Upgrade websocket
}
reverse_proxy @v2ray_websocket localhost:10000
}

v2ray配置

在当前目录下新建v2ray配置文件config.json 下面的id可以在v2ray所在目录运行./v2ctl uuid生成,path后的目录和caddy配置的path一样

1
vim config.json

然后输入以下代码并保存

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
{
"log": {
"loglevel": "info"
},
"inbounds": [
{
"protocol": "vmess",
"port": 10000,
"listen": "127.0.0.1",
"settings": {
"clients": [
{
"alterId": 64,
"id": "7f28174f-452b-34fc-d8de-a5a8d26c3cd3"
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/cloud1"
}
}
}
],
"outbounds": [
{
"tag": "direct",
"protocol": "freedom"
}
]
}

重启脚本

最后新建一个一键重启脚本 新建文件restart.sh

1
vim restart.sh

然后输入下列代码并保存

1
2
3
4
5
6
7
8
9
#!/bin/bash

kill -9 $(pidof v2ray) & ./caddy stop

./caddy start > caddy.log 2>&1 &
./v2ray > v2ray.log 2>&1 &
sleep 5
[ -z "$(pidof caddy)" ] || echo "caddy started"
[ -z "$(pidof v2ray)" ] || echo "v2ray started"

然后v2ray服务端就算配置完成了 下面开始设置客户端

Windows客户端

项目下载地址: https://github.com/2dust/v2rayN

下载完成后解压运行v2rayN.exe
然后根据下面配置进行设置连接

13(1)

Android客户端

项目下载地址:https://github.com/2dust/v2rayNG
设置方式和Windows端一样 参考Windows端配置。

附赠

搭配CloudflareSpeedTest项目 可能有超越域名直连的网速效果。