如何在 Ubuntu欧博 22.04/20.04 服务器上设置 V2Ray 代理

文章正文
发布时间:2024-11-04 21:27

如何在 Ubuntu 22.04/20.04 服务器上设置 V2Ray 代理

本教程将向您展示如何在 Ubuntu 22.04/20.04 上设置 V2Ray 代理服务器。 V2Ray 是一个轻量级、快速且安全的 Socks5 代理,欧博可绕过互联网审查。我们将学习如何设置服务器端以及如何在 Ubuntu/Windows 上配置桌面客户端。

V2Ray 特点

轻量且快速。在我的测试中,我可以使用 V2Ray 观看 YouTube 4K 视频。 YouTube 在我的国家/地区(中国)被屏蔽。

在 Linux 和大多数 BSD 服务器上运行。

有适用于 Linux、macOS、Windows 和 BSD 的官方 V2Ray 客户端软件。对于 Android 和 iOS,有可用的第三方应用程序。

系统管理员易于设置

V2Ray 可以配置为在 TCP 端口 443 上运行,并使用标准 TLS 协议来加密网络流量。它看起来像标准的HTTPS协议,这使得它很难被阻止。

支持KCP传输协议,在丢包率较高的网络环境中很有用。

路由支持。您可以将其配置为仅路由在您所在国家或地区被阻止的网站/域的流量。

您可以在 Cloudflare CDN 后面运行它。

V2Ray 不仅仅是一个简单的代理工具。它被设计为一个平台,开发人员可以使用它来构建新的协议和工具。

要求

要学习本教程,您需要一个可以自由访问被阻止网站(在您所在国家/地区或互联网过滤系统之外)的 VPS(虚拟专用服务器)。我推荐 Kamatera VPS,它具有以下特点:

30 天免费试用。

起价为 4 美元/月(1GB RAM)

基于KVM的高性能VPS

全球9个数据中心,包括美国、加拿大、英国、德国、荷兰、香港和以色列。

按照下面链接的教程在 Kamatera 创建 Linux VPS 服务器。

如何在 Kamatera 上创建 Linux VPS 服务器

一旦您拥有运行 Ubuntu 22.04/20.04 的 VPS,请按照以下说明操作。

步骤1:在Ubuntu 22.04/20.04服务器上安装V2Ray

通过 SSH 连接到远程 Ubuntu 服务器。如果您运行的是 Ubuntu 22.04/20.04,那么我建议手动安装 V2Ray,因为存储库中的 v2ray 包在启动时出现问题。执行以下命令安装依赖包。

sudo apt install curl unzip

下载官方 V2Ray 安装脚本。 (我通常不建议使用第三方脚本安装软件,但这是V2Ray官方开发人员提供的安装脚本,欧博娱乐所以我使用它。)

curl -O https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh

运行安装脚本。

sudo bash install-release.sh

示例输出:

检查状态:

sudo systemctl status v2ray

如果它没有运行,请重新启动它。

sudo systemctl restart v2ray

启用系统启动时自动启动。

sudo systemctl enable v2ray步骤 2:设置 NTP 时间同步

您的服务器具有准确的时间非常重要,否则 V2Ray 可能会失败。这是为了确保用户的最佳安全。检查服务器上的时间。

timedatectl

示例输出:

如您所见,我的服务器系统时钟已同步。如果您的服务器不是这种情况,请按照下面链接的教程设置 NTP 时间同步。

如何在 Linux 中配置时区和系统时钟

第三步:在服务器上配置V2Ray

使用命令行文本编辑器(例如 Nano)编辑 V2Ray 配置文件。

sudo nano /usr/local/etc/v2ray/config.json

删除该文件中的所有内容,然后添加以下行。将 id 替换为 UUID 格式的一些随机字符。您可以使用在线 UUID 生成器。

{ "log": { "loglevel": "warning", "access": "/var/log/v2ray/access.log", "error": "/var/log/v2ray/error.log" }, "inbounds": [ { "port": 10000, "listen":"127.0.0.1", "protocol": "vmess", "settings": { "clients": [ { "id": "b831381d-6324-4d53-ad4f-8cda48b30811", "alterId": 64 } ] }, "streamSettings": { "network": "ws", "wsSettings": { "path": "/ray" } } } ], "outbounds": [ { "protocol": "freedom", "settings": {} } ] }

保存并关闭文件。 V2Ray 服务器将侦听端口 10000。然后重新启动 V2Ray 以使更改生效。

sudo systemctl restart v2ray

检查监听端口。

sudo ss -lnpt | grep v2ray

示例输出:

LISTEN 0 4096 127.0.0.1:10000 *:* users:(("v2ray",pid=701205,fd=3))步骤 4:配置反向代理

安装 Nginx 网络服务器。

sudo apt install nginx

为V2Ray创建虚拟主机文件。

sudo nano /etc/nginx/conf.d/v2ray.conf

在此文件中添加以下行。将 example.com 替换为您自己的域名。您还可以使用子域。

server { listen 80; server_name example.com; index index.html; root /usr/share/nginx/html/; access_log /var/log/nginx/v2ray.access; error_log /var/log/nginx/v2ray.error; location /ray { # Consistent with the path of V2Ray configuration if ($http_upgrade != "websocket") { # Return 404 error when WebSocket upgrading negotiate failed return 404; } proxy_redirect off; proxy_pass :10000; # Assume WebSocket is listening at localhost on port of 10000 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; # Show real IP in v2ray access.log proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }

保存并关闭文件。然后测试Nginx配置。

sudo nginx -t

如果测试成功,则重新加载Nginx。

sudo systemctl reload nginx步骤 5:启用 HTTPS

我们启用 HTTPS,以便您的国家防火墙不知道您正在使用代理。

从 Snap 商店安装最新版本的 Let’s Encrypt 客户端 certbot。

sudo apt install snapd sudo snap install certbot --classic

然后运行以下命令来获取免费的 Let’s Encrypt 证书。

sudo /snap/bin/certbot --webroot -i nginx --agree-tos --hsts --staple-ocsp -d example.com -e [email  -w /usr/share/nginx/html/

获取后,它将自动安装到您的 Nginx Web 服务器上。

步骤 6:配置防火墙

如果您在服务器上使用 iptables 防火墙,则需要通过运行以下命令来允许流向 TCP 端口 443 的流量。

sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT

如果您使用 UFW 防火墙,请运行以下命令:

sudo ufw allow 443/tcp第7步:在客户端计算机上安装并配置V2RayLinux 桌面

请按照步骤1中的相同步骤在Linux桌面上安装V2Ray。完成后,编辑配置文件。

sudo nano /usr/local/etc/v2ray/config.json

删除该文件中的所有内容,然后添加以下行。

{ "inbounds": [ { "port": 1090, "listen": "127.0.0.1", "protocol": "socks", "sniffing": { "enabled": true, "destOverride": ["http", "tls"] }, "settings": { "auth": "noauth", "udp": false } } ], "outbounds": [ { "protocol": "vmess", "settings": { "vnext": [ { "address": "example.com", "port": 443, "users": [ { "id": "b831381d-6324-4d53-ad4f-8cda48b30811", "alterId": 0 } ] } ] }, "streamSettings": { "network": "ws", "security": "tls", "wsSettings": { "path": "/ray" } } } ] }

V2Ray客户端上的id参数必须与V2Ray服务器上的id参数匹配。这就像一个预先共享的密码。 alterId必须设置为0,这样V2Ray客户端才会启用AEAD加密算法。

保存并关闭文件。然后重新启动 V2Ray 以使更改生效。

sudo systemctl restart v2ray

检查监听端口。

sudo ss -lnpt | grep v2ray

示例输出:

LISTEN 0 4096 127.0.0.1:1090 0.0.0.0:* users:(("v2ray",pid=495211,fd=3))

V2Ray 客户端侦听端口 1090(用于 Web 浏览器),并将请求重定向到侦听端口 10086 的 V2Ray 服务器。

Windows

Windows 用户可以从其 Github 发布页面下载 V2Ray 客户端。点击显示所有资源链接,然后您可以找到 V2Ray Windows ZIP 文件。

解压缩文件。您将找到一个 config.json 文件。使用记事本或您喜欢的文本编辑器打开此文件。删除该文件中的所有内容,然后添加以下行。

{ "inbounds": [ { "port": 1090, "listen": "127.0.0.1", "protocol": "socks", "sniffing": { "enabled": true, "destOverride": ["http", "tls"] }, "settings": { "auth": "noauth", "udp": false } } ], "outbounds": [ { "protocol": "vmess", "settings": { "vnext": [ { "address": "example.com", "port": 443, "users": [ { "id": "b831381d-6324-4d53-ad4f-8cda48b30811", "alterId": 0 } ] } ] }, "streamSettings": { "network": "ws", "security": "tls", "wsSettings": { "path": "/ray" } } } ] }

将 server_ip_address 替换为您的实际服务器 IP 地址。 V2Ray客户端上的id参数必须与V2Ray服务器上的id参数匹配。这就像一个预先共享的密码。

保存并关闭文件。然后打开 Window Powershell 并运行以下命令来启动 v2ray,假设 v2ray-windows-64 文件夹已提取到您的桌面文件夹中。

. \\Desktop\v2ray-windows-64\v2ray run第 8 步:配置 Web 浏览器以使用 V2Ray 代理

为了让你的程序使用V2Ray代理,程序必须支持SOCKS代理。 Firefox、Google Chrome 和 Dropbox 等程序允许用户使用代理。我将向您展示如何配置 Firefox 和 Google Chrome。

火狐浏览器

在 Firefox 中,转到编辑 > 首选项 > 常规(或工具 -> 选项 ) -> 常规)。然后向下滚动到底部,点击网络设置中的设置

连接设置窗口中,选择手动代理配置。然后选择SOCKS v5,因为V2Ray是Socks5代理。在 SOCKS 主机字段中输入 127.0.0.1,在端口字段中输入 1090。确保启用使用 SOCKS v5 时的代理 DNS。单击确定应用这些修改。

谷歌浏览器

我建议安装 Proxy SwitchyOmega 扩展来管理 Google Chrome 的代理。

在 Google Chrome 中安装扩展程序后,请按如下方式配置代理服务器:

选择 SOCKS5 协议。

将127.0.0.1设置为服务器地址。

将 1090 设置为端口号。

应用更改。然后单击右上角的扩展图标,然后单击Proxy SwithyOmega。

默认情况下,SwithyOmega 使用操作系统的代理设置。我们需要将其从系统代理更改为代理。

现在你的代理应该可以工作了。

第 9 步:DNS 泄漏测试

访问 dnsleaktest.com。您将看到您的 V2Ray 服务器的 IP 地址,这表明您的 V2Ray 代理正在工作。

单击标准测试。确保您的本地 ISP 不在测试结果中。

步骤10:启用TCP BBR

TCP BBR 是一种 TCP 拥塞控制算法,可以大幅提高连接速度。运行以下两条命令启用TCP BBR算法

echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.d/60-custom.conf echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.d/60-custom.conf

然后使用以下命令应用更改。 -p 选项将从 /etc/sysctl.d/60-custom.conf 文件加载 sysctl 设置。该命令将在系统重新启动后保留我们的更改。

sudo sysctl -p /etc/sysctl.d/60-custom.conf故障排除

如果 V2Ray 无法正常工作,请检查 /var/log/v2ray/ 下的日志(access.log 和 error.log)。

如果您看到以下错误,很可能是因为客户端的时间错误。请配置时间同步。

rejected proxy/vmess/encoding: failed to read request header > websocket: close 1000 (normal)

如果遇到以下错误,请在V2Ray客户端配置文件中将alterId设置为0以启用AEAD。

invalid user: VMessAEAD is enforced and a non VMessAEAD connection is received.iOS客户端

OneClick 是一款面向 iOS 用户的免费 V2Ray 客户端。

安装 OneClick 后,打开应用程序,选择添加配置 -> VMESS,然后使用以下参数。

备注:在此文本字段中输入您想要的任何内容。

地址/IP:输入 Nginx 配置文件中的域。 (example.com)

端口:443

ID/UUID:输入 V2Ray 服务器配置文件中的 UUID。

警报 ID:0

开启启用 TLS

选择ws作为流设置

主机:输入 Nginx 配置文件中的域名。 (example.com)

路径:/ray

将其他字段留空。

注意:OneClick 似乎不支持 VMESS-AEAD。您需要在 V2Ray 服务器上禁用它。

sudo systemctl edit v2ray.service

输入以下行。

[Service] Environment=V2RAY_VMESS_AEAD_FORCED=false

保存并关闭文件。然后重新启动V2Ray。

sudo systemctl restart v2rayLinux 桌面上的全局模式

如果您使用桌面 Linux,您实际上可以使用 V2Ray 代理来处理您的所有互联网流量(不仅仅是 Web 浏览器流量)。转到系统设置 -> 网络 -> 网络代理

然后选择手动 -> Sock Host (127.0.0.1: 1090)。它会自动检测SOCK协议(SOCKS4或SOCK5)。

如何升级V2Ray

只需再次运行安装脚本即可。

sudo bash install-release.sh包起来

就是这样!我希望本教程可以帮助您在 Ubuntu 上安装 V2Ray 代理。与往常一样,如果您发现这篇文章有用,请订阅我们的免费时事通讯以获取更多提示和技巧 🙂

首页
评论
分享
Top