下载&安装

这里使用离线下载安装,版本为v5.21.0

解压

unzip v2ray-linux-64.zip -d /usr/local/v2ray/

配置文件

配置文件路径

mkdir -p /usr/local/etc/v2ray/

修改模板配置文件,ps:如果其它设备上有可以直接导出拿过来用

vim /usr/local/etc/v2ray/config.json

这是一个模板,根据实际信息修改

{
    "inbounds": [
        {
            "port": 1080, // SOCKS 代理端口,在浏览器中需配置代理并指向这个端口
            "listen": "127.0.0.1",
            "protocol": "socks",
            "settings": {
                "udp": true
            }
        }
    ],
    "outbounds": [
        {
            "protocol": "vmess",
            "settings": {
                "vnext": [
                    {
                        "address": "server", // 服务器地址,请修改为你自己的服务器 ip 或域名
                        "port": 10086, // 服务器端口
                        "users": [
                            {
                                "id": "b831381d-6324-4d53-ad4f-8cda48b30811"
                            }
                        ]
                    }
                ]
            }
        },
        {
            "protocol": "freedom",
            "tag": "direct"
        }
    ],
    "routing": {
        "domainStrategy": "IPOnDemand",
        "rules": [
            {
                "type": "field",
                "ip": [
                    "geoip:private"
                ],
                "outboundTag": "direct"
            }
        ]
    }
}

启动服务

创建后台运行服务,新建服务文件并写入一下内容/etc/systemd/system/v2ray.service

[Unit]
Description=V2Ray Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/v2ray/v2ray run -config /usr/local/etc/v2ray/config.json
Restart=on-failure

[Install]
WantedBy=multi-user.target

启动服务,启动后status查看运行状态

systemctl daemon-reload
systemctl start v2ray
systemctl status v2ray

使用

all_proxy目的是给应用使用,例如curl、wget,http_proxy和https_proxy给对应的协议 执行后只在当前会话窗口生效,SSH断开后失效

export all_proxy=socks5://127.0.0.1:10808 http_proxy=http://127.0.0.1:10809 https_proxy=http://127.0.0.1:10809

错误排查

如果报错,先看下是否config格式错误 校验通过会输出json内容,校验失败会输出错误行数

jq . /usr/local/etc/v2ray/config.json

如果无jq,使用如下安装

sudo apt update && sudo apt install jq

另外使用v2ray自带test工具检查配置文件是否正确

/usr/local/v2ray/v2ray test -config /usr/local/etc/v2ray/config.json

BBR开启

启用 BBR(Bottleneck Bandwidth and RTT)可以有效提升 TCP 连接的性能,特别是在网络延迟较高或带宽受限的情况下。 对于通过 Docker 搭建的 V2Ray 服务端,启用 BBR 可以帮助提高网络吞吐量,尤其是在负载较高的情况下,改善连接的稳定性和速度。 BBR 是 Linux 内核提供的一种 TCP 拥塞控制算法,通常可以通过修改 Linux 内核的 TCP 参数来启用。对于 Docker 容器,启用 BBR 需要在宿主机上进行配置,且容器内的网络也需要支持 BBR。

  1. 确保宿主机内核支持 BBR 首先,检查宿主机的 Linux 内核版本,确保内核支持 BBR(Linux 4.9 及以上版本支持 BBR)。您可以通过以下命令检查当前内核版本:
uname -r

如果内核版本为 4.9 或更高版本,您可以继续启用 BBR。

  1. 启用 BBR 执行以下命令检查是否启用了 BBR:
sysctl net.ipv4.tcp_congestion_control

如果返回值不是 bbr,则需要启用 BBR。 执行以下命令启用 BBR:

sudo sysctl -w net.ipv4.tcp_congestion_control=bbr
sudo sysctl -w net.core.default_qdisc=fq
  1. 使设置永久生效: 如果希望在系统重启后保持这些设置,可以将其添加到 /etc/sysctl.conf 文件中:
sudo nano /etc/sysctl.conf

在文件中添加以下内容:

net.ipv4.tcp_congestion_control=bbr
net.core.default_qdisc=fq
  1. 重新加载 sysctl 配置: 执行以下命令使配置生效:
sudo sysctl -p
  1. 确认 BBR 是否启用: 执行以下命令确认是否启用了 BBR:
sysctl net.ipv4.tcp_congestion_control

如果返回值为 bbr,则说明 BBR 已经成功启用。 BBR 的启用是针对宿主机的,Docker 容器会继承宿主机的网络设置。因此,启用 BBR 后,Docker 容器也会使用 BBR,只要容器使用的是宿主机的网络栈。