本文将介绍如何在MacOS上采用VMess协议与墙外VPS
通信,其中主要用到了v2ray这款开源工具。
服务端安装(Centos)
因为我选择的VPS的Centos的操作系统,所以此章节主要基于Centos操作系统来描述。
- 安装包下载:
wget https://github.com/v2ray/v2ray-core/releases/download/v2.40/v2ray-linux-64.zip
- 解压安装包到
/opt
目录:unzip v2ray-linux-64.zip -d /opt
- 编写配置文件:
config.json内容:cd /opt/v2ray-v2.40-linux-64 vi config.json
{ "log" : { // 日志输出配置 "access": "/var/log/v2ray/access.log", "error": "/var/log/v2ray/error.log", "loglevel": "warning" }, // 对外提供 vmess 协议 "inbound": { "port": 28399, // 监听端口 "protocol": "vmess", "settings": { "clients": [{ "id": "3b129ddd-72a3-4d28-aeee-028a0fe86e33", // 可以随机生成一个,但必须保证服务端ID与客户端ID必须保持一致 "level": 1, "alterId": 64, "security": "aes-128-gcm" }] } }, "outbound": { "protocol": "freedom", "settings": {} }, "routing": { "strategy": "rules", "settings": { "rules": [{ "type": "field", "ip": [ "0.0.0.0/8", "10.0.0.0/8", "100.64.0.0/10", "127.0.0.0/8", "169.254.0.0/16", "172.16.0.0/12", "192.0.0.0/24", "192.0.2.0/24", "192.168.0.0/16", "198.18.0.0/15", "198.51.100.0/24", "203.0.113.0/24", "::1/128", "fc00::/7", "fe80::/10" ], "outboundTag": "blocked" }] } } }
- 启动
v2ray
服务:/opt/v2ray-v2.40-linux-64/v2ray -config=/opt/v2ray-v2.40-linux-64/config.json > v2ray.log &
客户端安装(MacOs)
- 安装包下载:
wget https://github.com/v2ray/v2ray-core/releases/download/v2.40/v2ray-macos.zip
- 解压安装包到
/usr/local/opt
目录:unzip v2ray-linux-64.zip -d /usr/local/opt
- 编写配置文件:
config.json内容:cd /usr/local/opt/v2ray-v2.40-linux-64 vi config.json
{ "log" : { "access": "/var/log/v2ray/access.log", "error": "/var/log/v2ray/error.log", "loglevel": "warning" }, // 对外提供 socks5 协议 "inbound": { "port": 1080, // 监听端口 "protocol": "socks", // 入口协议为 SOCKS 5 "settings": { "auth": "noauth" //socks的认证设置,noauth 代表不认证,由于 socks 通常在客户端使用,所以这里不认证 } }, "outbound": { "protocol": "vmess", // 出口协议,对应服务端的入口协议 "settings": { "vnext": [{ "address": "serveraddr.com", // 服务器地址,请修改为你自己的服务器 ip 或域名 "port": 28399, // 服务器端口,对应服务器端入口的端口 "users": [{ "id": "3b129ddd-72a3-4d28-aeee-028a0fe86e33", // 用户ID, 服务端ID与客户端ID必须保持一致 "alterId": 64 // 此处的值也应当与服务器相同 }] }] } }, "routing": { "strategy": "rules", "settings": { "rules": [{ "type": "field", "ip": [ "0.0.0.0/8", "10.0.0.0/8", "100.64.0.0/10", "127.0.0.0/8", "169.254.0.0/16", "172.16.0.0/12", "192.0.0.0/24", "192.0.2.0/24", "192.168.0.0/16", "198.18.0.0/15", "198.51.100.0/24", "203.0.113.0/24", "::1/128", "fc00::/7", "fe80::/10" ], "outboundTag": "blocked" }] } } }
- 启动
v2ray
服务:/usr/local/opt/v2ray-v2.40-linux-64/v2ray -config=/usr/local/opt/v2ray-v2.40-linux-64/config.json > v2ray.log &
客户端安装的另一种方式(基于Docker安装)
- 下载镜像:
docker pull v2ray/official
- 编写配置文件:
mkdir -p ~/v2ray cd ~/v2ray vi config.json # 内容请参考客户端安装(MacOs)
- 创建容器:
docker run -d --restart=always --name v2ray -v ~/v2ray:/etc/v2ray -p 1080:1080 v2ray/official v2ray -config=/etc/v2ray/config.json
-p
后面跟的端口为config.json
中inbound
配置的监听端口 - 校验容器是否创建成功:
docker container ls
- 启动容器:
docker start
- 停止v2ray:
docker stop v2ray
- 重启v2ray:
docker restart v2ray
- 查看日志:
docker container log v2ray
更多参考资料
可能遇到的问题
- 客户端版本与服务端版本不匹配是,可能会出现服务端报错:
rejected Proxy|VMess|Encoding: invalid auth
。