还记得上次在设备上跑 pip install 时,进度条像在冬天晒太阳——动也不动吗?
解决网络延迟的思路很简单:

  1. 单点部署 v2rayA 在局域网里挑一台性能富裕、24 × 7 在线的机器,用 Docker 起 v2rayA 容器。所有外网访问流量先到它这里“洗个澡”,再迅速出海。
  2. 边缘盒子零负担 资源紧张的小机器不需要再装一堆代理软件,只要在命令前套上 proxychains,就能借用服务器的高速通道。git cloneapt updatepip install —— 统统不卡脖子。
  3. 集中维护,省心省力 统一配置、统一日志、统一升级。出了问题只盯一台服务器,排查速度翻倍,心情也跟着翻倍。

一、在一台 Linux 服务器上使用 Docker 部署v2rayA

以下内容参考了文档:https://v2raya.org/docs/prologue/installation/docker/

  1. 获取镜像
docker pull mzz2017/v2raya

2. 运行 v2rayA

停止正在运行的版本(如果存在):

docker container stop v2raya 
docker container rm v2raya

用以下命令启动容器:

docker run -d \
  --restart=always \
  --privileged \
  --network=host \
  --name v2raya \
  -e V2RAYA_LOG_FILE=/tmp/v2raya.log \
  -e V2RAYA_V2RAY_BIN=/usr/local/bin/v2ray \
  -e V2RAYA_NFTABLES_SUPPORT=off \
  -e IPTABLES_MODE=legacy \
  -v /lib/modules:/lib/modules:ro \
  -v /etc/resolv.conf:/etc/resolv.conf \
  -v /etc/v2raya:/etc/v2raya \
  mzz2017/v2raya

3. 访问 v2rayA GUI

浏览器输入网址:http://localhost:2017,检查GUI是否正常显示,并尝试配置代理,测试是否可以正常联网。如果访问不了 GUI 界面,有可能是因为端口被阻塞,解决方案往下看;如果可以正常访问 GUI 界面,可以按步骤配置代理。
一般来说,点击“导入”,导入你的订阅链接即可。

导入后,选择一个节点并启动服务,显示“正在运行”即为启动成功。

打开设置。

开启IP转发和端口分享,其他设置按照图中设置即可。

查看地址与端口,记录下socks5的端口号,一般都是20170。

http://localhost:2017 GUI 无法正常访问解决办法:

  1. 如果在 CentOS 8 这种服务器上,首先需要放行防火墙端口
sudo firewall-cmd --zone=public --add-port=2017/tcp --permanent
sudo firewall-cmd --zone=public --add-port=20170-20172/tcp --permanent
sudo firewall-cmd --reload

2. 如果你停用了 firewalld,使用 iptables:

sudo iptables -I INPUT -p tcp -m tcp --dport 2017 -j ACCEPT
sudo iptables -I INPUT -p tcp -m tcp --dport 20170:20172 -j ACCEPT

# 保存iptables规则
sudo iptables-save > /etc/sysconfig/iptables

3. 重新以 host 模式运行容器

docker run -d \
  --restart=always \
  --privileged \
  --network=host \
  --name v2raya \
  -e V2RAYA_LOG_FILE=/tmp/v2raya.log \
  -e V2RAYA_V2RAY_BIN=/usr/local/bin/v2ray \
  -e V2RAYA_NFTABLES_SUPPORT=off \
  -e IPTABLES_MODE=legacy \
  -v /lib/modules:/lib/modules:ro \
  -v /etc/resolv.conf:/etc/resolv.conf \
  -v /etc/v2raya:/etc/v2raya \
  mzz2017/v2raya

4. 再次尝试访问 http://localhost:2017,检查GUI是否正常显示,并尝试配置代理,测试是否可以正常联网。

坑点:CentOS 8 默认使用 firewalld(基于 nftables),注意确认已开启所需端口,尤其是host模式下,端口访问受宿主机防火墙控制。

二、其他 Linux 设备(比如边缘盒子)使用 proxychains

  1. 安装proxychains工具
sudo apt update 
sudo apt install proxychains

2. 编辑 /etc/proxychains.conf

sudo vim /etc/proxychains.conf

3. 将 /etc/proxychains.conf 改为:

socks5 部署v2raya的服务器ip 端口号

例如我在 IP 为 192.168.2.79 的服务器上,部署了v2rayA,同时开启了端口分享,并且查看到了socks5的端口号是20170,那么就将proxychains的配置文件改为:

4. 访问谷歌测试是否成功

proxychains curl https://www.google.com

出现以下内容就算成功:


写在最后 · 一条高速通道的意义

开发的世界永远不缺新的坑,但「网速」这个老毛病常常最磨人。把 v2rayA 收进 Docker,一招集中代理,不但让 GitHub 的转圈动画彻底失业,也让边缘盒子轻装上阵、专心跑代码。服务器 24×7 顶在前线,我们只需安心写需求、敲命令,其余的交给那条稳定的高速通道。

如果你跟我一样,已经厌倦了 pip install 挂在 0 KB/s 的煎熬,动手试试吧——成本只是几行 Docker 配置,回报却是整个局域网开发体验的质变。下次同事问起 “怎么访问 GitHub 这么快?” 不妨把这篇文章甩给他,然后微微一笑:“因为我把网络卡点打包进 Docker 了。”

愿你从此告别超时,专注创意与代码,路由器的风再大,也吹不灭我们迭代的热情。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。