# 使用 V2Ray 搭建 Shadowsocks 并导入 Shadowrocket
本文记录一次使用国外服务器、V2Ray 管理脚本和 Shadowsocks 协议搭建代理服务的过程。
> 请遵守服务器所在地及使用所在地的法律法规。本文仅作技术学习和个人记录。
## 一、准备服务器
首先准备一台具有公网 IP 的国外云服务器。个人学习使用可以选择配置较低、价格便宜的服务器。
本文使用的是 Linux 服务器,并通过 SSH 登录服务器进行操作。
## 二、安装 V2Ray 管理脚本
登录服务器后执行:
```bash
bash <(wget -qO- -o- https://github.com/233boy/v2ray/raw/master/install.sh)
```
安装完成后,可以通过下面的命令进入管理菜单:
```bash
v2ray
```
运行后会看到类似菜单:
```text
------------- V2Ray script v4.27 by 233boy -------------
V2Ray 5.51.2: running
1) 添加配置
2) 更改配置
3) 查看配置
4) 删除配置
5) 运行管理
6) 更新
7) 卸载
8) 帮助
9) 其他
10) 关于
```
显示 `running` 表示 V2Ray 服务正在运行。
## 三、添加 Shadowsocks 配置
在主菜单中输入:
```text
1
```
选择“添加配置”,然后会显示支持的协议:
```text
1) VMess-TCP
2) VMess-mKCP
3) VMess-QUIC
4) VMess-H2-TLS
5) VMess-WS-TLS
6) VMess-gRPC-TLS
7) VLESS-H2-TLS
8) VLESS-WS-TLS
9) VLESS-gRPC-TLS
10) Trojan-H2-TLS
11) Trojan-WS-TLS
12) Trojan-gRPC-TLS
13) Shadowsocks
14) VMess-TCP-dynamic-port
15) VMess-mKCP-dynamic-port
16) VMess-QUIC-dynamic-port
17) Socks
```
这里选择:
```text
13
```
也就是 `Shadowsocks`。
### 设置端口
输入一个尚未被占用的端口,例如:
```text
64537
```
实际使用时可以换成其他端口,范围一般为 `1-65535`。
### 选择加密方式
脚本提供以下加密方式:
```text
1) aes-128-gcm
2) aes-256-gcm
3) chacha20-ietf-poly1305
```
直接按回车,会使用默认的:
```text
aes-128-gcm
```
### 设置密码
输入一个足够复杂的密码,例如:
```text
请设置密码:<你的高强度密码>
```
不要使用简单数字密码,也不要把真实密码发布到博客或截图中。
配置完成后会显示类似信息:
```text
协议:shadowsocks
地址:<服务器公网IP>
端口:<Shadowsocks端口>
密码:<你的密码>
加密方式:aes-128-gcm
```
同时还会生成一个以 `ss://` 开头的分享链接:
```text
ss://<节点分享内容>
```
这个链接包含服务器地址和认证信息,不能公开泄露。
## 四、开放服务器端口
这是非常重要的一步。如果端口没有开放,Shadowrocket 通常会显示“连接超时”。
需要同时检查:
1. 云服务器安全组
2. Linux 系统防火墙
### 1. 开放云服务器安全组
进入云服务器控制台,找到当前服务器绑定的安全组,然后添加入方向规则:
```text
协议:TCP
端口:<Shadowsocks端口>
来源:0.0.0.0/0
```
例如使用端口 `64537`:
```text
协议:TCP
端口:64537
来源:0.0.0.0/0
```
### 2. 开放 CentOS/RHEL 防火墙
```bash
firewall-cmd --permanent --add-port=64537/tcp
firewall-cmd --reload
firewall-cmd --list-ports
```
将 `64537` 替换成自己的端口。
### 3. 开放 Ubuntu/Debian 防火墙
如果使用 UFW:
```bash
ufw allow 64537/tcp
ufw reload
ufw status
```
同样需要将 `64537` 替换成实际端口。
## 五、生成 Shadowrocket 二维码
配置完成后执行:
```bash
v2ray qr
```
如果存在多个配置,根据提示选择刚才创建的 Shadowsocks 配置。
终端中会生成对应的二维码。
在 iPhone 上打开 Shadowrocket,也就是常说的“小火箭”:
1. 点击右上角的添加按钮。
2. 选择扫描二维码。
3. 扫描服务器终端显示的二维码。
4. 选择刚刚导入的节点。
5. 打开 Shadowrocket 连接开关。
6. 首次使用时,允许 iOS 添加 VPN 配置。
如果二维码无法正常扫描,也可以查看分享链接:
```bash
v2ray url
```
复制生成的 `ss://` 链接,然后在 Shadowrocket 中从剪贴板导入。
## 六、常用管理命令
进入管理菜单:
```bash
v2ray
```
查看所有配置信息:
```bash
v2ray info
```
生成二维码:
```bash
v2ray qr
```
获取分享链接:
```bash
v2ray url
```
查看运行状态:
```bash
v2ray status
```
重启 V2Ray:
```bash
v2ray restart
```
查看运行日志:
```bash
v2ray log
```
## 七、连接超时排查
如果 Shadowrocket 显示“连接超时”,依次检查:
1. V2Ray 是否正在运行。
2. Shadowrocket 中的服务器 IP 是否正确。
3. 节点端口是否正确。
4. 云服务器安全组是否允许该 TCP 端口。
5. Linux 系统防火墙是否允许该 TCP 端口。
6. Shadowsocks 密码和加密方式是否一致。
查看服务状态:
```bash
v2ray status
```
查看端口是否正在监听:
```bash
ss -lntp
```
重启服务:
```bash
v2ray restart
```
查看日志:
```bash
v2ray log
```
如果日志中没有任何连接记录,通常说明请求还没有到达服务器,应优先检查安全组和防火墙。
## 八、总结
整个搭建过程可以概括为:
1. 准备一台具有公网 IP 的国外服务器。
2. 安装 V2Ray 管理脚本。
3. 添加 Shadowsocks 配置。
4. 设置端口、密码和加密方式。
5. 在安全组和系统防火墙中开放对应的 TCP 端口。
6. 使用 `v2ray qr` 生成二维码。
7. 使用 Shadowrocket 扫码导入并连接。
需要特别注意的是:
> 一定要同时开放云服务器安全组和服务器系统防火墙中的对应 TCP 端口,否则客户端很可能连接超时。
参考教程:
https://233boy.com/v2ray/v2ray-script/
非特殊说明,本文版权归 无限。 所有,转载请注明出处.
本文标题: 个人搭建VPN(不求人篇)
评论
沟通交流,拉近你我!