最近SS、SSR 老是被 ban,只有换工具了,一直听说 v2Ray 很好用。就尝试切换到 v2Ray 。网上看了下现有的教程,大多是 nginx 的,这里有几个问题。
- 大多数教程是裸搭建,仅适合为了 v2ray 买个 vps 来搭建的人
- 大多已经不适用现在的版本
- 客户端多数是 v2RayN 、V2RayW (windows),而非 MacOS 的
因为我个人的 VPS,就一个 blog 和一些自己的测试应用,都是 apache,而且中间有大量的配置。实在懒得为了个 v2Ray 搭一套 Nginx 的环境了。所以就在现有的环境下搞了。
环境介绍
- CentOS 7
- v2Ray 4.20.0
- Apache 2.4.6
- V2RayU 2.1 (mac 客户端)
- MacOs Catalina(10.15.3)
资料
准备
本文适用于有一定 linux 、apache 基础的人。中间的过程,如安装 apache、配置 ssl 安全连接这种基础,本文没有介绍。
- 境外 VPS 一台,搬瓦工【价格实惠、适合个人】、Vultr【按流量计费、随时换 IP】等都可以;
- 域名【备不备案无所谓】 。一般爱折腾的人都有吧。如果没有,买一个就是,建议不要用一级,新建一个二级域名。DNS 新建个 A 记录指向你的 VPS 服务器 IP 即可;
- SSL 安全连接。我用的 Certbot 配置的 Let’s Encrypt 证书。这随意搜索下,很多教程;
- 安装 apache 2.4.6 以上吧。并有一个有效的可以访问的 https【安全的】 应用(可以是静态网页模板);
请满足以上几个条件再往下看。
服务端-安装配置
Ok,看到这里,说明你前期准备完了。离成功只有一步了。
现在要假设几个条件,在文中需要用到,方便联系上下文。如下内容都是假设的,请勿图方便复制,你需要根据你真实环境来。
现在假设:
- 能访问的的 apache 应用: https://v2ray.your.domain 【此处替换为你的域名】
- 目录是
/var/www/v2ray_your_domain
【此处替换为你的 apache 服务】
- SSL 链接配置地址
/etc/httpd/conf.d/vhost/ssl.conf
【此处替换为你的 apache ssl 配置文件】
新建伪装目录
1 2
| cd /var/www/v2ray_your_domain mkdir anonymous
|
安装 v2Ray
有问题或其他系统安装,可以看官网-安装说明
运行下面的指令下载并安装 V2Ray。当 yum 或 apt-get 可用的情况下,此脚本会自动安装 unzip 和 daemon。这两个组件是安装 V2Ray 的必要组件。如果你使用的系统不支持 yum 或 apt-get,请自行安装 unzip 和 daemon
1
| bash <(curl -L -s https://install.direct/go.sh)
|
此脚本会自动安装以下文件:
1 2 3 4 5
| /usr/bin/v2ray/v2ray:V2Ray 程序; /usr/bin/v2ray/v2ctl:V2Ray 工具; /etc/v2ray/config.json:配置文件; /usr/bin/v2ray/geoip.dat:IP 数据文件 /usr/bin/v2ray/geosite.dat:域名数据文件
|
配置 v2Ray
打开 conf.json
1
| vim /etc/v2ray/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 33 34 35 36 37 38 39 40 41 42
| { "inbounds": [{ "port": 8888, "protocol": "vmess", "settings": { "clients": [ { "id": "453sd-1458-432f-b2435-0435c8324af52f", "level": 1, "alterId": 64 } ] }, "streamSettings": { "network": "ws", "wsSettings": { "path":"/anonymous" } }, "listen": "127.0.0.1" }], "outbounds": [{ "protocol": "freedom", "settings": {} },{ "protocol": "blackhole", "settings": {}, "tag": "blocked" }], "routing": { "rules": [ { "type": "field", "ip": ["geoip:private"], "outboundTag": "blocked" } ] } }
|
配置 Firewall
iptables介绍
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| firewall-cmd --permanent --add-port=8888/tcp
firewall-cmd --reload
iptables -I INPUT -p tcp --dport 8888 -j ACCEPT
iptables -I INPUT -p UDP --dport 8888 -j ACCEPT
service iptables save
systemctl enable v2ray
systemctl start v2ray
|
配置 Apache
打开Apache https 配置。 在 约定 中已说明。 服务器配置有问题,可以参考v2Ray白话文教程-服务器配置
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 33 34 35 36 37 38 39
| <VirtualHost *:443> DocumentRoot /var/www/v2ray_your_domain ServerName v2ray.your.domain SSLEngine on SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 SSLHonorCipherOrder off SSLSessionTickets off
<Location "/anonymous"> ProxyPass ws://127.0.0.1:8888/anonymous ProxyAddHeaders Off ProxyPreserveHost On RequestHeader append X-Forwarded-For %{REMOTE_ADDR}s </Location> <Directory "/var/www/v2ray_your_domain"> Options FollowSymLinks AllowOverride All Order deny,allow Allow from all </Directory> Include /etc/ssl-security/options-ssl-apache.conf SSLCertificateFile /etc/ssl-security/live/v2ray.your.domain/cert.pem SSLCertificateKeyFile /etc/ssl-security/live/v2ray.your.domain/privkey.pem SSLCertificateChainFile /etc/ssl-security/live/v2ray.your.domain/chain.pem </VirtualHost>
<VirtualHost *:443> DocumentRoot /var/www/blog_your_domain ServerName blog.your.domain ServerAlias blog.your.domain SSLEngine on ... </VirtualHost>
|
测试配置
访问 https://v2ray.your.domain/anonymous 因该是 400 或者 404
客户端-安装配置
V2RayU【MacOS客户端】新版下载地址
所有平台包括移动到客户端下载参考官网-神一样的工具们
v2rayU 下载不能打开解决
下载下来打不开,可以打开 安全与隐私
-> 允许任何来源
配置本地监听
配置服务器
- id、alterId、level、security 和你 v2ray conf.json 配置一样。
- 其他参考你 apache 进行配置