众所周知,校园网昂贵且复杂。大学校园里,不同校区限制措施也不同,我校比较low一点,运行了drcom客户端,似乎还会检验是否开了个人移动热点等方式来进行限制。在管控不严的校园内,一个寝室购买一个校园网账号并用无线路由器广播出去是常见的。
现在考虑一下在不购买路由器的情况下,进行流量共享。路由器其实为不同用户之间建立了一个小型局域网,使得不同用户在局域网内可以交换信息。换言之,只需找到一个可以交换信息的方式,就可以使在校园网中可以上网的a和不能上网的b进行信息交换,从而让a把信息传输给b,实现双方的上网。不难想到,其实校园网本身就是这么一个信息交换的方式,无需无线路由,而校园网的覆盖范围也远远超过一个无线路由器的覆盖范围。
条件:
局域网内存在可以上网的主机A,和不能上网的主机B。
因为大部分校园网用户都是非计算机专业的学生,大部分的系统都是win10。之前有一个临时的解决方案:A上安装ccproxy,并设置相关的账号密码,B上安装proxifier,填写相关账号密码,即可上网。但是由于服务器端和用户端的软件不同,不太优雅,并且存在ccproxy很久不更新、ccproxy无法实现跨平台使用(如果服务器端A是mac系统或者linux系统)等一系列问题。所以决定换个方案。
(主要是本人换了mac)
win10虚拟机,网络为仅主机,ip为192.168.116.129,不能上网,做客户机主机B
win10主机,ip为192.168.116.1,能上网,做服务器主机A
在之前请先确定虚拟机能ping通主机ip。如果ping不通,一般有两种情况
A和B都打开v2rayN,在设置中,勾选允许局域网连接。保存后都关闭且退出(默认点X是在右下角托盘处,有可能会收起来,需要自己去点开,右键退出)
v2rayN的生成配置文件存在一定的问题,之前使用v2rayN生成的服务器配置怎么都不能上网,会出现v2ray io: read/write on closed pipe、> EOF等问题,后来使用了网上找的配置工具(可以给个star),里面的在线工具就够用,
填写相关信息,基本上需要修改的就只有服务器、端口这两项,以我的虚拟机为例,我填写192.168.116.1,端口保持不变,然后点击生成。
得到服务器端的配置json
{
"log": {
"access": "/var/log/v2ray/access.log",
"error": "/var/log/v2ray/error.log",
"loglevel": "warning"
},
"dns": {
},
"stats": {
},
"inbounds": [
{
"port": 3333,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "e0b3115c-27fd-479a-a18f-3a88e1b116bf",
"alterId": 32
}
]
},
"tag": "in-0",
"streamSettings": {
"network": "tcp",
"security": "none",
"tcpSettings": {
}
}
}
],
"outbounds": [
{
"tag": "direct",
"protocol": "freedom",
"settings": {
}
},
{
"tag": "blocked",
"protocol": "blackhole",
"settings": {
}
}
],
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"ip": [
"geoip:private"
],
"outboundTag": "blocked"
}
]
},
"policy": {
},
"reverse": {
},
"transport": {
}
}
其中,access和error字段可能需要修改,因为如果服务器端为Windows,则找不到/var的目录,从而启动失败,我们可以直接把前面的路径去掉变成相对路径。
然后需要记录inbounds下的端口(就是之前填入的端口),和clients下的所有内容(用作身份验证),最后的代码为
{
"log": {
"access": "access.log",
"error": "error.log",
"loglevel": "warning"
},
"dns": {
},
"stats": {
},
"inbounds": [
{
"port": 3333,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "e0b3115c-27fd-479a-a18f-3a88e1b116bf",
"alterId": 32
}
]
},
"tag": "in-0",
"streamSettings": {
"network": "tcp",
"security": "none",
"tcpSettings": {
}
}
}
],
"outbounds": [
{
"tag": "direct",
"protocol": "freedom",
"settings": {
}
},
{
"tag": "blocked",
"protocol": "blackhole",
"settings": {
}
}
],
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"ip": [
"geoip:private"
],
"outboundTag": "blocked"
}
]
},
"policy": {
},
"reverse": {
},
"transport": {
}
}
将其复制,在v2rayN的目录下,新建config.json,把内容粘贴进去,并保存。保存之后,windows下双击目录下的v2ray.exe,如果出现黑框,并且显示v2ray started,即为启动成功。
B中打开v2rayN,添加vmess服务器,并把刚刚记录的信息填入,其他选项不要碰。保存即可。然后设置为活动服务器,右键进行服务器速度测试,如果有下载进度则为配置完毕。点击X后,右下角右键,开启全局或者pac,此时再访问百度等网页就已经可以访问了。