V2Ray Ubuntu 教程:从零开始到完全配置 (3000字详尽指南)
V2Ray 是一个强大的网络代理工具,可以帮助你突破网络限制,保护你的网络隐私。它比传统的 VPN 更灵活,更难被检测。本教程将详细指导你在 Ubuntu 系统上从零开始安装、配置和使用 V2Ray,让你能够自由安全地上网。
本教程涵盖以下内容:
- V2Ray 简介及其优势
- 准备工作:服务器和域名(可选)
- Ubuntu 系统更新和必要软件安装
- V2Ray 安装:多种安装方法详解
- 官方脚本安装(推荐)
- 手动安装
- Snap 安装
- V2Ray 配置文件详解 (config.json)
- Inbound (入站) 配置
- Outbound (出站) 配置
- Routing (路由) 配置
- DNS 配置
- 其他配置选项
- 客户端配置 (Windows, macOS, Android, iOS)
- Windows: V2RayN
- macOS: V2RayX, ClashX
- Android: V2RayNG, BifrostV
- iOS: Shadowrocket, Kitsunebi
- V2Ray 进阶配置
- WebSocket + TLS + Web (最安全的配置方式)
- mKCP
- 流量伪装
- 多用户配置
- V2Ray 常见问题解答 (FAQ)
- 总结与进阶学习资源
1. V2Ray 简介及其优势
V2Ray 是 Project V 项目的核心工具,是一个模块化的代理平台。它支持多种协议,如 VMess、Shadowsocks、Socks、HTTP 等,并且可以自由组合,实现强大的功能。
V2Ray 的优势:
- 更强的隐蔽性: V2Ray 的 VMess 协议以及多种流量伪装方式(如 WebSocket + TLS)使其更难被检测和封锁。
- 更灵活的配置: V2Ray 的配置文件 (config.json) 提供了丰富的选项,可以根据你的需求进行高度定制。
- 更强大的功能: V2Ray 支持路由功能,可以根据域名、IP、地理位置等条件进行分流,实现更智能的代理。
- 多平台支持: V2Ray 有各种平台的客户端,包括 Windows、macOS、Linux、Android、iOS 等。
- 活跃的社区: V2Ray 有一个活跃的社区,可以提供帮助和支持。
2. 准备工作:服务器和域名(可选)
要使用 V2Ray,你需要一台境外服务器。你可以从各种 VPS 提供商处购买,如 Vultr、DigitalOcean、BandwagonHost 等。选择服务器时,建议选择靠近你所在地区的服务器,以获得更快的速度。
服务器配置要求:
- 操作系统: Ubuntu 22.04, 20.04, 18.04 (推荐) 或 Debian, CentOS
- 内存: 建议至少 512MB
- 硬盘: 建议至少 10GB
- 网络: 稳定的网络连接
域名(可选):
如果你想使用 WebSocket + TLS + Web 的配置方式,你需要一个域名。你可以从域名注册商处购买,如 Namecheap、GoDaddy 等。域名不是必需的,但它可以提高安全性并降低被封锁的风险。
3. Ubuntu 系统更新和必要软件安装
在安装 V2Ray 之前,我们需要更新 Ubuntu 系统并安装一些必要的软件。
-
更新系统:
bash
sudo apt update
sudo apt upgrade -y -
安装必要软件:
bash
sudo apt install -y curl unzip
如果需要使用systemctl
管理v2ray,且系统上尚未安装systemd
:
bash
sudo apt install -y systemd
4. V2Ray 安装:多种安装方法详解
V2Ray 有多种安装方法,你可以选择适合你的方法。
4.1 官方脚本安装(推荐)
V2Ray 官方提供了一个安装脚本,可以方便地安装和更新 V2Ray。
bash
bash <(curl -L -s https://install.direct/go.sh)
这个脚本会自动下载最新版本的 V2Ray,并将其安装到 /usr/bin/v2ray
目录下。配置文件位于 /etc/v2ray/config.json
,日志文件位于/var/log/v2ray/
。
安装完成后,V2Ray 会自动启动。你可以使用以下命令来管理 V2Ray:
- 启动 V2Ray:
sudo systemctl start v2ray
- 停止 V2Ray:
sudo systemctl stop v2ray
- 重启 V2Ray:
sudo systemctl restart v2ray
- 查看 V2Ray 状态:
sudo systemctl status v2ray
- 设置 V2Ray 开机自启:
sudo systemctl enable v2ray
- 取消 V2Ray 开机自启:
sudo systemctl disable v2ray
4.2 手动安装
手动安装 V2Ray 稍微复杂一些,但可以让你更好地控制安装过程。
-
下载 V2Ray:
从 V2Ray 的 GitHub 发布页面 (https://github.com/v2fly/v2ray-core/releases) 下载最新版本的 V2Ray。选择适合你系统架构的版本(通常是
v2ray-linux-64.zip
)。 -
解压 V2Ray:
bash
unzip v2ray-linux-64.zip
将v2ray-linux-64
替换成你下载的文件名。 -
移动 V2Ray 文件:
bash
sudo mv v2ray /usr/bin/
sudo mv v2ctl /usr/bin/
sudo mkdir -p /etc/v2ray/ -
创建配置文件:
在
/etc/v2ray/
目录下创建一个名为config.json
的文件,并将你的 V2Ray 配置写入其中(见第 5 节)。 -
创建 systemd 服务文件 (可选, 但推荐):
创建一个名为 /etc/systemd/system/v2ray.service
的文件,并添加以下内容:
```
[Unit]
Description=V2Ray Service
After=network.target
[Service]
Type=simple
User=nobody
ExecStart=/usr/bin/v2ray -config /etc/v2ray/config.json
Restart=on-failure
[Install]
WantedBy=multi-user.target
```
保存并关闭文件,然后执行:
bash
sudo systemctl daemon-reload
- 启动、停止、查看状态、开机自启: 使用
systemctl
命令,与官方脚本安装方法相同。
4.3 Snap 安装
如果你的 Ubuntu 系统支持 Snap,你可以使用 Snap 来安装 V2Ray。
bash
sudo snap install v2ray-core
使用snap安装后,配置文件在/var/snap/v2ray-core/common/etc/v2ray
5. V2Ray 配置文件详解 (config.json)
V2Ray 的配置文件是一个 JSON 文件,通常命名为 config.json
。它包含了 V2Ray 的所有配置信息。
下面是一个基本的 config.json
文件示例:
json
{
"inbounds": [
{
"port": 10808, // 监听端口
"protocol": "socks", // 入站协议
"settings": {
"auth": "noauth", // 认证方式
"udp": true, // 是否开启 UDP 支持
"ip": "127.0.0.1" // 监听地址
}
}
],
"outbounds": [
{
"protocol": "vmess", // 出站协议
"settings": {
"vnext": [
{
"address": "your_server_ip", // 服务器地址
"port": 443, // 服务器端口
"users": [
{
"id": "your_uuid", // 用户 ID
"alterId": 64, // 额外 ID
"security": "auto" // 加密方式
}
]
}
]
},
"streamSettings": {
"network": "tcp" // 传输协议
}
}
]
}
下面详细解释每个部分的配置:
5.1 Inbound (入站) 配置
Inbound 配置定义了 V2Ray 监听的端口和协议,用于接收来自客户端的连接。
port
: V2Ray 监听的端口,客户端需要连接到这个端口。protocol
: 入站协议,常用的有socks
、http
、vmess
等。settings
: 协议相关的设置。auth
:认证方式,noauth
表示不认证,password
表示密码认证。udp
:是否开启 UDP 支持。ip
:监听地址,127.0.0.1
表示只监听本地回环地址,0.0.0.0
表示监听所有地址。- 如果使用
vmess
作为入站协议,settings
中需要配置clients
字段,包含id
等信息。
5.2 Outbound (出站) 配置
Outbound 配置定义了 V2Ray 连接到远程服务器的方式。
protocol
: 出站协议,常用的有vmess
、shadowsocks
、freedom
(直连) 等。settings
: 协议相关的设置。vnext
(对于 VMess):服务器列表。address
:服务器地址。port
:服务器端口。users
:用户列表。id
:用户 ID (UUID)。alterId
:额外 ID。security
:加密方式,auto
、aes-128-gcm
、chacha20-poly1305
等。
streamSettings
: 传输层配置network
: 传输协议,tcp
,kcp
,ws
(WebSocket) 等security
: 是否开启TLS,tls
或none
.- 当
network
为ws
时,需要配置wsSettings
, 包含path
(路径)和headers
(HTTP头部)。 - 当
security
为tls
时,需要配置tlsSettings
, 包含serverName
(服务器名称,通常为域名)和allowInsecure
(是否允许不安全的连接)
5.3 Routing (路由) 配置
Routing 配置定义了 V2Ray 如何根据不同的规则将流量转发到不同的出站连接。
json
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"domain": [
"geosite:google"
],
"outboundTag": "proxy"
},
{
"type": "field",
"ip": [
"geoip:private"
],
"outboundTag": "direct"
}
]
}
domainStrategy
: 域名解析策略,AsIs
表示直接使用域名,IPIfNonMatch
表示如果域名无法解析则使用 IP,IPOnDemand
表示总是使用 IP。rules
: 路由规则列表。type
:规则类型,field
表示根据域名或 IP 进行匹配。domain
:域名列表,可以使用geosite
引用域名列表(如geosite:google
表示 Google 相关的域名)。ip
:IP 列表,可以使用geoip
引用 IP 列表(如geoip:private
表示私有 IP 地址)。outboundTag
:匹配规则的出站标签,需要与outbounds
中的tag
对应。
5.4 DNS 配置
DNS 配置定义了 V2Ray 使用的 DNS 服务器。
json
"dns": {
"servers": [
"8.8.8.8",
"8.8.4.4",
"1.1.1.1"
]
}
servers
: DNS 服务器列表。
5.5 其他配置选项
V2Ray 还有很多其他的配置选项,如 log
(日志配置)、policy
(策略配置) 等。你可以参考 V2Ray 官方文档 (https://www.v2fly.org/config/) 了解更多信息。
6. 客户端配置 (Windows, macOS, Android, iOS)
V2Ray 有各种平台的客户端,你需要根据你的设备选择合适的客户端。
6.1 Windows: V2RayN
-
下载 V2RayN:
从 V2RayN 的 GitHub 发布页面 (https://github.com/2dust/v2rayN/releases) 下载最新版本的 V2RayN。
-
解压 V2RayN:
将下载的 ZIP 文件解压到任意目录。
-
运行 V2RayN:
双击
v2rayN.exe
运行 V2RayN。 -
添加服务器:
点击 “服务器” -> “添加 [VMess] 服务器”,然后填写你的服务器信息(地址、端口、用户 ID、额外 ID、加密方式等)。
-
选择服务器:
在服务器列表中选择你刚刚添加的服务器。
-
开启代理:
右键点击 V2RayN 的系统托盘图标,选择 “启用 HTTP 代理”,并选择 “PAC 模式” 或 “全局模式”。
6.2 macOS: V2RayX, ClashX
V2RayX:
-
下载 V2RayX:
从 V2RayX 的 GitHub 发布页面 (https://github.com/Cenmrev/V2RayX/releases) 下载最新版本的 V2RayX。 -
安装 V2RayX: 将下载的 DMG 文件拖动到 “应用程序” 文件夹中。
-
运行 V2RayX: 按照与 V2RayN 类似的步骤添加服务器并开启代理。
ClashX:
ClashX 是一个基于 Clash 内核的 macOS 客户端,支持多种协议,包括 VMess。
-
下载 ClashX: 从GitHub release下载.
-
安装ClashX: 将下载的 DMG 文件拖动到 “应用程序” 文件夹中。
-
配置ClashX: ClashX 使用 YAML 格式的配置文件。你需要将你的 V2Ray 服务器信息转换为 Clash 的配置格式。有很多在线工具可以帮助你完成这个转换。
6.3 Android: V2RayNG, BifrostV
V2RayNG:
-
下载 V2RayNG:
从 V2RayNG 的 GitHub 发布页面 (https://github.com/2dust/v2rayNG/releases) 下载最新版本的 V2RayNG,或者在 Google Play 商店中搜索 “V2RayNG”。
-
安装 V2RayNG:
安装 APK 文件。
-
添加服务器:
点击 “+” 按钮,选择 “手动输入 [VMess]”,然后填写你的服务器信息。
-
开启代理:
点击 V2RayNG 主界面右下角的 “V” 图标启动连接。
BifrostV:
另一款流行的安卓客户端
6.4 iOS: Shadowrocket, Kitsunebi
Shadowrocket (小火箭):
Shadowrocket 是一个 iOS 平台上非常流行的代理工具,需要付费购买。
-
购买并安装 Shadowrocket:
在 App Store 中搜索 “Shadowrocket” 并购买安装。
-
添加服务器:
点击 “+” 按钮,选择 “类型” 为 “VMess”,然后填写你的服务器信息。
-
开启代理
Kitsunebi:
另一款流行的iOS客户端, 同样需要购买。
7. V2Ray 进阶配置
7.1 WebSocket + TLS + Web (最安全的配置方式)
WebSocket + TLS + Web 是目前最安全的 V2Ray 配置方式,它可以将 V2Ray 流量伪装成正常的 HTTPS 流量,极难被检测和封锁。
服务器端配置 (config.json):
json
{
"inbounds": [
{
"port": 443, // HTTPS 端口
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "your_uuid",
"alterId": 64
}
]
},
"streamSettings": {
"network": "ws",
"security": "tls",
"tlsSettings": {
"certificates": [
{
"certificateFile": "/path/to/your/fullchain.pem", // 证书文件路径
"keyFile": "/path/to/your/privkey.pem" // 私钥文件路径
}
]
},
"wsSettings": {
"path": "/your_path" // WebSocket 路径
}
}
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {}
}
]
}
使用Nginx反向代理:
为了让V2Ray流量看起来更像正常的HTTPS流量,建议在服务器上安装Nginx,并配置反向代理。
-
安装 Nginx:
sudo apt install nginx
-
配置 Nginx: 编辑 Nginx 的配置文件 (通常位于
/etc/nginx/sites-available/default
或/etc/nginx/conf.d/default.conf
)。
“`nginx
server {
listen 80;
server_name your_domain.com; # 你的域名
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name your_domain.com;
ssl_certificate /path/to/your/fullchain.pem; # 证书文件路径
ssl_certificate_key /path/to/your/privkey.pem; # 私钥文件路径
location /your_path { # 与 V2Ray 配置中的 path 相同
proxy_pass http://127.0.0.1:10000; # 假设 V2Ray 监听在 10000 端口
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
}
}
“`
- 重启 Nginx:
sudo systemctl restart nginx
将以上your_domain.com
,/your_path
等替换成你自己的设置。
客户端配置:
客户端的配置与服务器端的streamSettings
相对应。address
填写你的域名,port
为443, network
为 ws
, security
为 tls
, wsSettings
中的path
和服务器配置一致。
7.2 mKCP
mKCP 是 V2Ray 的一种传输协议,基于 KCP 协议,可以提高在丢包严重的环境下的连接速度。
配置方法较为复杂,请参考官方文档。
7.3 流量伪装
除了 WebSocket + TLS,V2Ray 还支持其他的流量伪装方式,如 HTTP 头部伪装、TLS 伪装等。
具体配置方法参考官方文档。
7.4 多用户配置
V2Ray 支持多用户配置,你可以在 inbounds
中配置多个 clients
,每个 client
对应一个用户。
8. V2Ray 常见问题解答 (FAQ)
- V2Ray 连接不上?
- 检查服务器 IP 地址、端口、用户 ID、额外 ID、加密方式是否正确。
- 检查服务器防火墙是否放行了 V2Ray 的端口。
- 检查服务器时间是否正确。
- 尝试更换传输协议(如 TCP、WebSocket)。
- V2Ray 速度慢?
- 选择距离你所在地区较近的服务器。
- 尝试更换传输协议。
- 尝试使用 mKCP 协议。
- 如何更新 V2Ray?
- 如果使用官方脚本安装,可以再次运行安装脚本进行更新。
- 如果手动安装,需要下载最新版本的 V2Ray 并替换旧版本的文件。
9. 总结与进阶学习资源
本教程详细介绍了在 Ubuntu 系统上安装、配置和使用 V2Ray 的方法。通过本教程,你应该能够成功搭建自己的 V2Ray 服务器,并实现自由安全地上网。
进阶学习资源:
- V2Ray 官方文档: https://www.v2fly.org/
- Project V GitHub: https://github.com/v2fly
- V2Ray 社区论坛: https://v2ray.com/ (已不活跃,仅供参考旧资料)
希望本教程对你有所帮助!如果你有任何问题,欢迎随时提问。