0%

CentOS7+v2Ray+WS+Apache(httpd)+ MacOs(V2RayU)科学上网流量伪装

最近SS、SSR 老是被 ban,只有换工具了,一直听说 v2Ray 很好用。就尝试切换到 v2Ray 。网上看了下现有的教程,大多是 nginx 的,这里有几个问题。

  1. 大多数教程是裸搭建,仅适合为了 v2ray 买个 vps 来搭建的人
  2. 大多已经不适用现在的版本
  3. 客户端多数是 v2RayN 、V2RayW (windows),而非 MacOS 的

因为我个人的 VPS,就一个 blog 和一些自己的测试应用,都是 apache,而且中间有大量的配置。实在懒得为了个 v2Ray 搭一套 Nginx 的环境了。所以就在现有的环境下搞了。

环境介绍

  1. CentOS 7
  2. v2Ray 4.20.0
  3. Apache 2.4.6
  4. V2RayU 2.1 (mac 客户端)
  5. MacOs Catalina(10.15.3)

资料

准备

本文适用于有一定 linux 、apache 基础的人。中间的过程,如安装 apache、配置 ssl 安全连接这种基础,本文没有介绍。

  1. 境外 VPS 一台,搬瓦工【价格实惠、适合个人】Vultr【按流量计费、随时换 IP】等都可以;
  2. 域名【备不备案无所谓】 。一般爱折腾的人都有吧。如果没有,买一个就是,建议不要用一级,新建一个二级域名。DNS 新建个 A 记录指向你的 VPS 服务器 IP 即可;
  3. SSL 安全连接。我用的 Certbot 配置的 Let’s Encrypt 证书。这随意搜索下,很多教程;
  4. 安装 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, // v2Ray 【监听端口】,自定义
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "453sd-1458-432f-b2435-0435c8324af52f", // 您的【用户id】,安装 v2ray 自动生成
"level": 1, //
"alterId": 64 // 1~64 数字越大,性能越差,网上看到一个人说的,没验证过
}
]
},

// streamSettings 流量伪装的配置,默认是没有的
// 如果不伪装,仅修改 监听端口、level、alterId 即可使用
"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
# 设置防火墙允许 v2ray 监听端口通过 【TCP】
firewall-cmd --permanent --add-port=8888/tcp # 8888 改成你v2ray conf.json 的端口号
# 防火墙重新加载
firewall-cmd --reload
# iptables 允许v2ray 监听端口通过
#【TCP】
iptables -I INPUT -p tcp --dport 8888 -j ACCEPT
#【UDP】
iptables -I INPUT -p UDP --dport 8888 -j ACCEPT
# 保存配置
service iptables save
# 设置开机启动
systemctl enable v2ray
# 运行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
#v2ray
<VirtualHost *:443> #监听 443端口
DocumentRoot /var/www/v2ray_your_domain # 应用目录,人畜无害的并且可以访问的
ServerName v2ray.your.domain # 监听域名,当域名为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 # 请勿以 "/" 结尾 , anonymous 和 anonymous/ 是 2 个意思
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>
# ssl 证书配置,根据你的证书配置路径
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 进行配置