科学上网
科学上网可以使用代理服务。代理服务是用于客户端与目标服务器之间的中介,代表客户端发起请求。代理服务器为客户端提供绕过访问限制、提升隐私、缓存内容、或进行内容过滤的能力。
一、购买代理服务器
购买vultr服务器官网:购买页面
二、连接Vultr服务器
SSH连接服务器
Xshell SSH 连接
可以选择使用 Xshell 工具;若是使用 Bitvise 工具,跳转到 [[科学上网#Bitvise SSH 连接|Bitvise SSH 连接]]
在会话属性,使用SSH协议,主机是代理服务器地址,SHH 默认使用端口 22:
用户身份验证,用户名和密码是购买的代理服务器的信息:
打开会话,提示框直接点击确认即可,进入shell命令行。
Bitvise SSH 连接(可跳过)
若选择 Bitvise SSH 客户端登录,配置代理服务器 HOST IP地址和默认端口22,用户验证的用户名和密码。
登录成功后,选择左侧的 New terminal console,新建会话,进入 shell 命令行。
xray服务配置
一键配置xray服务,命令行如下:
bash <(curl -sL https://raw.githubusercontent.com/daveleung/hijkpw-scripts-mod/main/xray_mod1.sh)
注:命令回车后,会出现v2ray一键安装脚本的菜单项。
如果没有出现,Centos系统输入:
yun install -y curl
Ubuntu/Debian系统输入:
apt install -y curl
以v2ray一键脚本安装菜单,按需安装。如下示例,选择:安装选项5
,端口443,其它回车默认选择即可。
脚本自动执行,最后会输出配置信息。例如:
Archive: /tmp/xray/xray.zip
inflating: /tmp/xray/geosite.dat
inflating: /tmp/xray/xray
inflating: /tmp/xray/geoip.dat
inflating: /tmp/xray/README.md
inflating: /tmp/xray/LICENSE
Created symlink /etc/systemd/system/multi-user.target.wants/xray.service → /etc/systemd/system/xray.service.
BBR模块已安装
Xray启动成功
Xray运行状态:已安装 Xray正在运行
Xray配置文件: /usr/local/etc/xray/config.json
Xray配置信息:
协议: VLESS
IP(address): 64.176.85.208
端口(port):443
id(uuid):2d2d2ca6-f2de-490c-b7ef-fb03b6ebdba8
加密(encryption): none
传输协议(network): mkcp
伪装类型(type): none
mkcp seed: 7523635e-21d5-4ded-9db4-8adbcdd9a2b2
注:本次选择配置的是:VLESS+KCP,传输协议使用mKCP
自此代理服务器配置成功。
三、下载并配置客户端
v2ray客户端下载及对应配置教程:v2ray
Wndows客户端配置
相关配置点设置如上述执行脚本后 xray 服务输出的配置信息。
- 如果用了VLESS或者XTLS技术,请更换为Xray内核,如下所示:
- 添加新的V2ray节点
点击界面菜单项,服务器,添加对应的服务器类型,进行配置:
- 右下角托盘启动服务代理
一般可选择“自动配置系统代理”和“Pac模式”,如下:
注:“自动配置系统代理”:是默认的全局代理,走节点流量;
“Pac模式”:是代理软件根据用户访问的网站,将需要代理的网站和服务通过PAC文件过来出来,只有这部分走代理节点流量。
手机安卓客户端
- 电脑端配置成功后,可以选中创建的一行服务器代理,右键分享二维码:
-
手机端扫描即可一键配置
-
建立服务连接即可
Linux系统客户端配置
可视化界面模式
以 CentOS 7 系统为例。在 Linux 系统下可以使用 V2rayA 客户端,见官网下载。
由 v2rayA 官方文档可知,基于 RedHat 的 CentOS 的系统版本,v2rayA 前端管理工具依赖 v2Ray core 后台进程,所以,两者都要安装。
v2rayA
下载 v2rayA:installer_redhat_x64_2.2.5.8.rpm
安装 v2rayA:
yum localinstall installer_redhat_x64_2.2.5.8.rpm
启用并启动服务:
systemctl enable --now v2raya
检查服务状态:
systemctl status v2raya
v2ray
接下来,需要安装配置 v2ray,不然 v2rayA 管理界面会提示错误:failed to start v2ray-core: geoip.dat or geosite.dat file does not **exists**
下载 v2ray:v2ray-linux-64.zip
安装配置:
unzip v2ray-linux-64.zip -d ./v2ray
mv ./v2ray /usr/local/share
创建符号链接:
/usr/local/share/v2ray
目录包含 v2ray
相关的可执行文件。 为确保 v2raya
可以调用 v2ray
,创建一个符号链接到 /usr/local/bin
目录,使系统 PATH 包含它。
ln -s /usr/local/share/v2ray/v2ray /usr/local/bin/v2ray
然后,重启下 v2raya
服务。
systemctl restart v2raya
v2rayA 管理界面
参考 v2rayA 官方文档,了解基本的使用方法。
通过 2017 端口(如 http://localhost:2017)访问UI界面,管理配置服务器。
首先,应该创建一个管理员账户,管理服务。然后,创建或导入服务器节点。
创建服务器节点:
一般必要的参数配置:
说明:配置参数依据上述的[[科学上网#xray服务配置|xray服务配置]]输出信息。创建完可以启动服务器节点。
代理配置:
设置完代理后,可以访问网页进行验证代理服务是否有效。
命令行模式
对于有些远程操作的云虚拟机服务器,可能只有命令行模式可以操作,因此,就需要命令行中配置相关参数内容。
如上述,仅下载安装 v2ray 核心工具即可。
下载后解压到指定目录:
unzip v2ray-linux-64.zip -d /usr/local/share/v2ray
编辑 v2ray 配置文件
可以复制其他系统下安装配置的 config.json
文件,或直接修改:
{
"log": {
"access": "",
"error": "",
"loglevel": "warning"
},
"inbounds": [
{
"tag": "socks",
"port": 10808,
"listen": "127.0.0.1",
"protocol": "socks",
"sniffing": {
"enabled": true,
"destOverride": [
"http",
"tls"
],
"routeOnly": false
},
"settings": {
"auth": "noauth",
"udp": true,
"allowTransparent": false
}
},
{
"tag": "http",
"port": 10809,
"listen": "127.0.0.1",
"protocol": "http",
"sniffing": {
"enabled": true,
"destOverride": [
"http",
"tls"
],
"routeOnly": false
},
"settings": {
"auth": "noauth",
"udp": true,
"allowTransparent": false
}
}
],
"outbounds": [
{
"tag": "proxy",
"protocol": "vless",
"settings": {
"vnext": [
{
"address": "64.176.85.208",
"port": 443,
"users": [
{
"id": "a06e0afd-998e-4ac4-9dfb-a80b2076feb1",
"alterId": 0,
"email": "t@t.tt",
"security": "auto",
"encryption": "none"
}
]
}
]
},
"streamSettings": {
"network": "tcp"
},
"mux": {
"enabled": false,
"concurrency": -1
}
},
{
"tag": "direct",
"protocol": "freedom",
"settings": {}
},
{
"tag": "block",
"protocol": "blackhole",
"settings": {
"response": {
"type": "http"
}
}
}
],
"dns": {
"servers": [
"1.1.1.1",
"8.8.8.8"
]
},
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"inboundTag": [
"api"
],
"outboundTag": "api"
},
{
"type": "field",
"outboundTag": "direct",
"domain": [
"domain:example-example.com",
"domain:example-example2.com"
]
},
{
"type": "field",
"outboundTag": "block",
"domain": [
"geosite:category-ads-all"
]
},
{
"type": "field",
"outboundTag": "direct",
"domain": [
"geosite:cn"
]
},
{
"type": "field",
"outboundTag": "direct",
"ip": [
"geoip:private",
"geoip:cn"
]
},
{
"type": "field",
"port": "0-65535",
"outboundTag": "proxy"
}
]
}
}
说明:这个配置文件定义了 V2Ray 的代理设置,包括入站和出站规则、DNS 配置和路由规则,旨在根据流量类型和目标来决定如何处理和转发流量。
- 主要关注
outbounds
字段下protocol
、address
、id
、encryption
和network
的等内容。 - 稍后,配置的本地代理端口应和
inbounds
字段下的port
保持一致。
配置代理服务
通过配置全局环境变量,使网络请求通过本地的代理服务器进行转发,分别通过不同的端口进行 SOCKS5 和 HTTP 代理。
可以添加环境变量到 /etc/profile
文件末尾,内容如下:
export ALL_PROXY="socks5://127.0.0.1:10808"
export http_proxy="http://127.0.0.1:10809"
export https_proxy="http://127.0.0.1:10809"
ALL_PROXY
设置全局的 SOCKS5 代理。所有协议(如 HTTP、HTTPS、FTP 等)的流量都通过127.0.0.1:10808
这个 SOCKS5 代理服务器进行转发。http_proxy
为 HTTP 协议设置 HTTP 代理,所有的 HTTP 流量通过http://127.0.0.1:10809
代理服务器转发。http_proxy
为 HTTPS 协议设置 HTTP 代理(注意,这里是 http 协议),所有的 HTTPS 流量通过http://127.0.0.1:10809
代理服务器转发。
使其在当前 bash 终端立即生效:
source /etc/profile
启动 v2ray 服务
一是直接使用 v2ray 命令并指定配置文件:
/usr/local/share/v2ray/v2ray -config /usr/local/share/v2ray/config.json
二是使用 Systemd 启动服务:
将 v2ray 作为系统服务运行,可以使用提供的 systemd 服务文件。
- 将 v2ray 中
systemd
目录下的v2ray.service
文件复制到/etc/systemd/system/
中:
cp /usr/local/share/v2ray/systemd/system/v2ray.service /etc/systemd/system/
- 启动并设置 v2ray 服务随系统启动:
systemctl enable v2ray
systemctl start v2ray
- 可以检查 v2ray 服务状态:
systemctl status v2ray
验证代理服务
验证代理是否正常工作:
curl -x socks5://127.0.0.1:10808 https://www.google.com
或直接访问目标网站是否连通:
curl -I www.google.com
- 正常情况下,会返回一些请求头信息,而非超时等异常信息。
如果需要访问不允许使用代理的网站,可以配置代理外规则、使用 VPN、修改 hosts 文件绕过 DNS 解析和代理。
或者临时禁用代理配置,Linux 系统通过取消代理环境变量或使用 unset
命令来禁用:
unset http_proxy
unset https_proxy
问题
问题一:failed to start v2ray-core: failed: no server is selected. please select at least one server
分析:错误表明 v2ray-core
启动失败,因为没有选择服务器。要解决这个问题,你需要在 v2raya
的配置中选择至少一个服务器。
解决:需要确保在 v2raya
管理界面已添加服务器内容,也可以检查 v2rayA
的配置文件(通常 /etc/v2raya/config.json
)是否包含有效的服务器配置。如果已添加服务器,但未生效,添加服务器页面重新保存下,可能是配置文件被修改后,服务器数据没有重新生成。