v2ray 局域网代理 实现校园网共享

v2ray 实现校园网共享

  众所周知,校园网昂贵且复杂。大学校园里,不同校区限制措施也不同,我校比较low一点,运行了drcom客户端,似乎还会检验是否开了个人移动热点等方式来进行限制。在管控不严的校园内,一个寝室购买一个校园网账号并用无线路由器广播出去是常见的。

  现在考虑一下在不购买路由器的情况下,进行流量共享。路由器其实为不同用户之间建立了一个小型局域网,使得不同用户在局域网内可以交换信息。换言之,只需找到一个可以交换信息的方式,就可以使在校园网中可以上网的a和不能上网的b进行信息交换,从而让a把信息传输给b,实现双方的上网。不难想到,其实校园网本身就是这么一个信息交换的方式,无需无线路由,而校园网的覆盖范围也远远超过一个无线路由器的覆盖范围。

条件:
局域网内存在可以上网的主机A,和不能上网的主机B。

  因为大部分校园网用户都是非计算机专业的学生,大部分的系统都是win10。之前有一个临时的解决方案:A上安装ccproxy,并设置相关的账号密码,B上安装proxifier,填写相关账号密码,即可上网。但是由于服务器端和用户端的软件不同,不太优雅,并且存在ccproxy很久不更新、ccproxy无法实现跨平台使用(如果服务器端A是mac系统或者linux系统)等一系列问题。所以决定换个方案。

(主要是本人换了mac)

目前不在校,仅实现虚拟机内双windows系统之间的互通,实际上校园网内能否实现还需要返校后测试

所需软件:
  1. v2ray-core
  2. 各种v2ray的gui客户端,以windows为例,windows下的gui客户端比较著名的有v2rayN
虚拟机配置

win10虚拟机,网络为仅主机,ip为192.168.116.129,不能上网,做客户机主机B
win10主机,ip为192.168.116.1,能上网,做服务器主机A
在之前请先确定虚拟机能ping通主机ip。如果ping不通,一般有两种情况

  1. 虚拟机网络配置不对。此种情况在现实生活中很少见。
  2. 主机防火墙未关闭
v2rayN开启局域网

A和B都打开v2rayN,在设置中,勾选允许局域网连接。保存后都关闭且退出(默认点X是在右下角托盘处,有可能会收起来,需要自己去点开,右键退出)

生成配置文件

v2rayN的生成配置文件存在一定的问题,之前使用v2rayN生成的服务器配置怎么都不能上网,会出现v2ray io: read/write on closed pipe> EOF等问题,后来使用了网上找的配置工具(可以给个star),里面的在线工具就够用,

v2ray 局域网代理 实现校园网共享_第1张图片
填写相关信息,基本上需要修改的就只有服务器端口这两项,以我的虚拟机为例,我填写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,此时再访问百度等网页就已经可以访问了。

事后发现v2rayN的默认导出,对于服务器没有设置出口,所以一直无法上网。

你可能感兴趣的:(局域网)