Ubuntu搭建v2rayA

Ubuntu搭建v2rayA

安全提醒

⚠️ 警告 如果你在公网服务器上搭建代理,请务必注意安全(v2rayA貌似没有提供鉴权的服务你的端口暴露了,别人也能用)。内网环境使用,应该问题不大。

背景

给Ubuntu搭建代理,不论是我在工作中,还是在自己薅羊毛的青龙面板上,都有这个需求。作为程序员,直接使用小飞机、小猫咪这些软件倒是能解决自己本机的外网访问需求了。
但是工作中需要搭建maven私有仓库,从几年前就搭好的nexus供公司内部打包使用,它也代理了很多海外的仓库,比如谷歌的,Gradle等等的。但是大多数时候,nexus的后台显示所代理的谷歌仓库等海外的仓库都是不可用的。
公司内部打包,也时有拉不到海外依赖的情况,一直也没有去彻底解决。最近我在家重新部署了青龙面板来薅羊毛(最近狗东太狠了,分分钟给你踢下线),干脆就在我的小主机(Ubuntu)上搭了代理,方便拉取任务脚本。正好搭建成功了之后,也抽空在公司弄上了。

技术选型

  1. v2rayA
  2. Docker
  3. VPN代理网站购买服务,我一直都没去自己搭建这玩意儿,感觉容易被封,稳定性我也不确定,不如花点钱,有人给你整的妥妥当当的,只管用,懒得操心,而且区域也多,工作中用起来也方便不少。

搭建步骤

搭建起来非常简单,docker容器直接就跑起来。

运行容器

使用docker直接run

1
docker run -d --restart=always --privileged --network=host --name v2raya -e V2RAYA_ADDRESS=0.0.0.0:2017 -v /lib/modules:/lib/modules -v /etc/resolv.conf:/etc/resolv.conf -v /etc/v2raya:/etc/v2raya mzz2017/v2raya

运行成功之后,访问http://127.0.0.1:2017就可以看到v2rayA的初始化界面了。

注册账号、添加订阅


这里是注册界面,输入账号密码注册一个管理员账号。

登录成功之后,就是添加订阅的选项。

我是买的别人的服务,直接添加订阅地址,选择导入

添加成功之后的界面如下:

配置v2rayA

点击界面右上角的设置按钮,

可以看到,设置界面有比较多的选项,系统代理根据需要自己选择一个。我一般使用大陆白名单模式。下面的模式介绍,是豆包告诉我的,不保真🤣

  • 不进行分流:指所有网络流量都不经过代理,直接按照系统默认的网络路径进行访问。即V2Ray不会对流量进行任何处理,用户访问国内网站和国外网站都是直接连接,相当于V2Ray没有发挥代理作用。

  • 大陆白名单模式:这种模式下,V2Ray会将中国大陆的网站和IP地址列入白名单。当用户访问网络时,对于白名单内的中国大陆地址,流量直接通过本地网络连接,不经过代理服务器;而对于不在白名单内的境外地址,则通过V2Ray的代理服务器进行访问。这样可以在保证访问国内资源速度的同时,实现对境外资源的代理访问。

  • GFWList模式:GFWList是一个著名的代理规则列表。在V2Ray的GFWList模式下,系统会根据这个列表来判断流量是否需要通过代理。如果用户访问的网站或IP地址在GFWList列表中,那么该流量就会被发送到V2Ray的代理服务器进行处理,从而实现绕过网络限制的目的;如果不在列表中,就直接通过本地网络访问,无需经过代理。

  • 分流规则与规则端口所选模式一致:这种模式下,V2Ray会根据设置的分流规则和端口来决定流量的处理方式。例如,用户可以设置特定的端口范围或协议类型,当流量匹配这些规则时,就会按照对应的模式进行处理,可能是直接访问、通过代理访问或者其他特定的处理方式。这种模式提供了更灵活的流量管理方式,可以根据不同的应用场景和需求进行精细的配置。

我的配置如下:

主要就是开启ip转发开启端口分享自动更新订阅我配置了2个小时的间隔,这样子尽量保证我的订阅服务器信息足够新,基本随时可用。

节点选择和代理开启

切换到订阅的节点tab,其中会展示所有节点。

你可以勾选一些节点或者全选,然后点击PING或者HTTP进行各个节点测速。我这里勾选了全部节点,而且很多节点已经TIME OUT了。

测速之后,你可以选择一个延迟较低的节点,然后点击该节点右侧的连接按钮。效果如下图,

此时,还没有启动代理,需要点击左上角的就绪/启动按钮,开启代理。

启动之后,会显示 - 正在运行。

此时,代理服务已经开启,如果你的Ubuntu需要访问外网,那么配置下全局代理就可以了。
以上的这些流程,也可以参考官方文档

系统全局代理配置

如果你只是一部分服务需要走代理,那么可以在那些服务里面去配置代理即可。比如青龙面板或者nexus都是支持配置代理地址的。

如果你的系统要全局走代理,那么,在 /etc/profile 文件中添加如下内容:

1
2
export http_proxy="http://127.0.0.1:20171"
export https_proxy="http://127.0.0.1:20171"

这里的端口号,默认是20171,你可以根据自己配置的端口进行修改。修改的地方在设置 -> 地址与端口 中,一般也没必要改动,这个一般也不会冲突。

总结

开启端口分享这个我之前一直没勾选,我在nexus中配置了代理,还是一直都不能访问到谷歌仓库,在我开启了这个之后,就可以了。

参考其他大佬的帖子,可以了解更多其他设置的使用。
v2rayA 安装与使用