此篇文章较长,为避免枯燥,可点击左下方播放器听几首纯音乐~
也可点击侧边目录跳跃到你感兴趣的内容~

解决校园网限制设备数的思路

———不同学校校园网设备限制方式有不同,这里仅作参考——
这件事情要从寒假前说起,我们大学的校园网联通20m宽带(现升级为百兆)是有设备数限制的,且仅能一个账号两个设备。
通过如下图的web页面去登录、上网,一开始仅是通过同一账号登录不得超过两次来限制。
并且,web登陆的时候是记录登入设备的MAC的。
我校校园网的web登录界面
这个好办,虽说安装指南教我们路由器连LAN口关DHCP,咱就偏要连WAN口开DHCP,这样就可以使用路由器的MAC进行登陆了
使用路由器MAC登陆后,路由器下可以自由无限制连接设备,并且稳定使用了差不多一个学期。


然而临近期末时,不幸的事情发生了...
校园网进行了一次大规模升级,升级之后上述办法就不管用了,一旦连的设备多了,web登陆状态就会被掐断,得重新连接
虽说可以写一个自动重新连接脚本,但是这对于舍友们打游戏来说仍然是是不友好的 其实是因为我不会写Orz

通过测试寻找解决思路

本来认为校园网后端的大路由是增加了心跳包检测进行设备数判定的...
经历了多台设备的反复测试后,我发现,无论多少台电脑设备连接都不会导致登陆状态中断,但是一旦连接的移动设备超过两台则会导致登陆状态中断
于是乎,我尝试查找是否有类似的案例,或者现成的解决方案————果不其然,在恩山bbs上找到了有dalao遇到类似的问题,而且分析的很透彻,甚至给出了多种解决思路。
详见:点此进行跳转(自动跳转新页面打开)
(更新:发现原帖有时候会挂掉emmm补一个拷贝:点此跳转

总结思路

在多方搜索和整理之后我总结出几个大致可行的思路并尝试施行:
1.听说配置双路由器避开检测。尝试后发现不行。
2.按照上文dalao的方式修改UA,但是发现诸多问题:一是修改UA由于某些屏蔽的关键字不知,导致某些场合下依旧掉线;二是配置较为麻烦;三是此方法对某些应用兼容性差,导致应用访问出错。

后来将上述的发现告诉老朋友dalao:Fuunyaa(貌似现在改名tumeneco了)得到一个新方案

3.路由器端全局挂酸酸乳或v2ray!emmm...首先我得有个软路由,其次我还得在外头有VPS...这个成本略高昂。我还不如多买一个校园网账号呢一个学期也才两三百

PS:具体原理不知,大概是通过打包客户端的数据并且加密传输,后端大路由无法分析出加密后流量的UA,数据直到服务端才进行解密,因此就能绕过UA的检测。

因此这件事情暂时没有较好的解决办法而搁置了 (正好期末好好复习呢) 考完试然后就收拾行李回家了...
家人突然告诉我搬家了!新家在湛江那边,然而那边网费还是比较便宜的,千来块钱一年200M!还是比较稳定的电信~
这样我的家庭宽带就终于舍弃掉了 疯狂丢包且死也不给公网IP 的中国移动...


家庭主机搭建酸酸乳/v2ray服务端

上面提到家里已有200M光纤,因为家人很少情况下能跑满200M,所以这个环境令我联想到很适合用来搭建ssr/v2ray服务端,这样我就可以从宿舍网挂客户端、通到家里的服务端

旧主机部署deepin及远程环境

更巧的是,搬家清理出了一台惠普的瘦客户机,奔腾双核、功能齐全且完好!原装自带Ubuntu,不过我还是安装了习惯、用来度过Linux新手过渡期的Deepin,用VGA把它接在了电视上进行U盘安装。

总是打扰老弟看电视也不是办法,于是找了一个好用的远程桌面,向日葵、teamview等对于Linux平台的支持都感觉不太好,最后感觉最实用的是Anydesk

这里啰嗦一下,deepin官方深度商店里的anydesk版本似乎不对(而且更新慢),是 Generic Linux (32 Bit) 的,有些小bug,建议在官网下载 Debian/Ubuntu/Mint 对应位数版本的,deepin是Debian系的嗯o( ̄▽ ̄)o,点击deb安装包无脑安装orz。

进入anydesk后,还得在设置里部署无人值守密码以及开始无人值守模式,这样才能真正随时连接而不用回原机确认。

小插曲:我发现当拔掉连接电视的VGA线,重启之后桌面显示不全,后来问过Fuunyaa大佬..他说得加一波负载,也就是要么一直插着电视,要么买个"负载"可让信号输出,桌面才能显示正常。插着就插着吧,反正电视平时待机的,负载依旧在,就算老弟看电视也是用HDMI信号源。

旧主机部署酸酸乳/v2ray

先说说v2ray吧,自从ss被破娃"爆破"之后,破娃也因为"个人原因"停止了ssr的开发与维护,虽然有民间维护,但是缺少"新鲜血液"的注入,并且随着时间推移,其流量特征变得越来越可见,不稳定性也逐渐出现了,所以还是挺推荐v2ray这一新鲜、富有活力且不断完善的项目,官网被"壁咚",GitHub地址详见:V2ray GitHub

emmm本来挺推荐这个一键部署脚本的multi-v2ray但是它貌似(当时)不支持Deepin环境...
后来找到这个大佬的脚本也是挺好用的:233boy/v2ray

按照教程 (无脑一键) 配置下去,最后得到vmess链接,复制给客户端(不是所有客户端都支持vmess链接,安卓推荐v2rayNG)

酸酸乳也是同理,一键部署脚本网上也有很多,不做赘述。

配置从外网环境访问v2ray服务端

上面说到Deepin环境搭建好了v2ray服务端,接下来得尝试配置从外网连接至服务端了。

家庭路由器进行端口映射

因为初中时搭建过MCPE服务器(Vcraft Venice),对这一步骤很熟悉,常见的家庭路由都有"虚拟服务器"这个选项,配置好访问的端口与v2ray服务端端口一致即OK,需要详细步骤的话百度 路由器品牌+如何端口映射 即可。

如果家庭宽带为非公网IP

这个问题很重要,我也是遇到了这样的问题,因为早几年的IPv4基本都是公网的,而现如今IPv4资源紧张,IPv6普及又遥遥无期(大概2021?)
如何判断你是否为公网IP?只需要看百度到的IP地址与路由器内查看到的是否一致即可,一致即为公网;否则为内网
或者看百度到的IP地址开头,一般地,xxx.开头大多为公网;xx.开头多为内网。
若非公网IP,(其实各大运营商默认都是不给公网IP的了)则你家的网络环境是在运营商的大内网路由下的,更详细的解释请在CSDN上找,例如点此跳转。在此环境下的设备从外网是无法访问到的,就算路由器开了端口映射也不行(无论是否有公网IP,有路由器的情况下端口映射是必开的)。知道了我家为内网环境后,思考出如下途径:

1.使用花生壳或nat123作穿透。不建议这么做,这些XX软件一是收费昂贵、二是限制多;壕请随意。
2.使用ngrok作内网转发或用frp作内网穿透。有能力和精力的大可一试,但是需要外头有公网的服务器提供服务,且我水平较差觉得配置略复杂;使用那些免费的frp服务器又满足不了我对速度的渴望(亲测缓慢QAQ)。
3.直接一个电话打给运营商,就说你家有小孩子,想装家庭监控,安装师傅说要公网IP;不到24h就会有人到楼下机房调整,搞定之后会给你打电话反馈。当然这种方法只在某些地域的电信或联通适合用;移动嘛...死都不会给公网IP的,因为他手头上少,自己都不够用。强烈推荐这种方法,我最后也是选择了这种。


域名的购买与动态DDNS

上述配置完成之后,即完成了外网可访问的环境。总之就是需要外网可直接访问的IP环境,如有家庭路由器得再加个端口映射(or DMZ)。

当我完成了外网v2ray客户端连接上了家里的服务端之后,我立即想到了一个问题,我们的家庭宽带IP均为动态IP,每隔一定的时间,租期一到IP地址会变(其实这么做大致也是缓解IPv4资源分配紧张的方法,有人暂时不用就把他分配给其他人嘛),因此家庭宽带是见不到静态IP的,况且静态IP价格及其昂贵。IP地址会变怎么办呢,连接服务端经常要改,而且我不能总是远程桌面连上主机来获取IP吧————这时候我了解到了DDNS(其实我是因为有顺便买域名、建博客的想法才了解到它的,域名通过DNS解析至家里的主机IP,我在想有没有办法定时上传我家的IP给DNS服务器解析呢,果然真有...)

虽说花生壳之类软件也有类似功能,但依旧不推荐使用...不多说...我首先是在阿里云那里捡到了一个低价的kying.fun域名,然后在Github找到了调用阿里云DNS的API实现DDNS功能的脚本,无需外部主机,利用Access Key权限定时上传、更改dns解析的IP。地址详见:点此跳转

关于阿里云的Access Key的开启,可以百度搜索教程,这里不赘述。按照所给的Readme文档教程,配置好ddns.conf后(记得去掉部分注释符#),使用Python开启脚本(安装Python环境以及第三方Python库的配置不多说,Readme文档也有。)
为方便启动,可以像我一样写一个start.sh,并将其加入crontab计划(详见Linux教程之crontab的用法)每隔一段时间运行一次。

#!/bin/bash
cd /home/User/Desktop/aliyun-ddns-client-master/ #打开目标文件夹路径,自行更改
python ddns.py

购买域名之后如果绑定、使用第三方DNS服务器————如DNSPod的话,也有类似的DDNS脚本,详见大佬的CSDN博客:点此跳转配置方法类似,也是需要key权限的。

树莓派3b刷入OpenWrt及使用V2ray客户端

剩下的问题就只是学校那边的路由器了,因为之前用的tplink可玩性太低,得重新买路由器————但是买可玩性高的又太贵...(小米或newifi貌似还是较便宜的),这时候我冒出一个想法:上咸鱼淘个树莓派做路由(顺便玩玩),于是关注了一个星期,貌似还是没有人低价出,这时候Fuunyaa大佬跟我说他找到一只比较便宜的树莓派3b,大约¥130 (他还说¥130运气好甚至能淘到3b+) ,于是让他转寄给我了 不愧是大(图吧捡垃圾)佬

树莓派3b集成V2ray固件的寻找&刷入、配置

到手后立即开始折腾,先得找合适的OpenWrt包,网上的包大多要不太旧没有V2ray,要不就总有些玄学bug配置出错,后来得知国内有大佬Lean,专业魔改Openwrt,它的包功能巨多,而且源码一直在更新。于是就去Github找找,找到如下源码地址:点此跳转但是他的包都是要手动编译的,需要精力和时间emmm...(没错我就是懒 其实不会

于是上其他dalao的个人博客找到了编译好的包,如小苏dalao的:点此跳转dalao的原文有包含特性介绍以及使用方法,包括如何使用神秘代码开启酸酸乳普拉斯加,建议仔细阅读后使用。
(小苏dalao的包貌似更新到第四版了,而我一直是用最初的版本的,且第四版的貌似有些玄学bug、V2ray pro也没有整合进去了,建议3b用户还是使用第一版的(经确认只有第一版的是3b可以稳定使用而且插件较多的);对了,小苏dalao最近在做编译教程有兴趣的可以去看看:点此跳转)

刷入镜像后(刷入教程可百度,在win下使用win32diskimager烧录、Linux下dd命令均可),树莓派3b使用网线连接电脑,浏览器输192.168.1.1进入Openwrt的luci界面,初始密码是password,记得修改为强度较高的。

配置网络连接

openwrt可玩性高,但是对新手很不友好,有些配置错误会无法连接、甚至会损坏系统,只能恢复出厂设置(前提有物理按键)或重刷(如树莓派)。若不幸真发生损坏,将sd卡插入电脑清除分区并重新建立分区(不是格式化,是清除分区,因为烧录后的sd卡被分为了几个分区)、重刷镜像即可。鉴于配置的复杂性,我提供基本配置好的备份包点此下载 在luci的 升级/备份 页面上传该备份包即可使用。
(此配置仅适用于校园网无需拨号的大内网环境,有些玄学问题未解决,介意勿用)

如果想要学着自己配置OpenWrt的网络,我还是推荐一波小苏dalao的教程:点此跳转可恶啊要是早点出教程我也就不用摸索着重刷辣么多次了

OpenWrt内V2ray客户端配置及连接

进入OpenWrt的Luci界面,在 "服务" 栏目下的 "V2ray pro" 中进行客户端的基本配置,客户端的各种协议及加密方式需与服务端相一致,否则无法成功连接。值得一提的是,这个v2ray pro客户端插件并不支持vmess链接来添加节点配置信息,这意味着你得手动配置客户端与服务端的信息相一致。如果新手不会配置的话可以在服务端输入v2ray url来获取vmess链接然后发给手机/电脑,由支持vmess链接的客户端(如安卓的v2rayNG)进行自动配置,然后翻看配置好的节点信息,以此为标准模板,手动修改路由器v2ray pro客户端的节点各选项信息与其相一致。(有些模板里没有的、不懂的就空着)
(可能会附图以后再补)

连接成功及后续优化

当我寒假结束回校后第一时间就是在3b上挂v2ray pro进行测试,令人欣喜的是成功了,无论我有多少移动端设备连入了开启v2ray的WiFi,web登录状态都不会掉
实测的话,正常网页浏览速度海星,有时会比直连略慢;通过ping实测,发现确实比直连慢上几十ms,这也没啥办法╮(╯▽╰)╭。

为了保证游戏的延迟不会太高,后来调整了一下,将v2ray服务端的传输协议由TCP改为了mKCP(mKCP实质上就是KCP,只不过略微调整了一下使之适用于v2ray 发包没那么暴力了),对应地,路由器的v2ray pro也需进行略微改动。

(校园网篇到这里差不多就结束了,也许之后还有小更新吧,有什么疑问欢迎评论区探讨)

利用家庭主机搭建个人博客

下面这部分是寒假在完成

———— 烂尾了不更了吧 ————

本文作者:k_ying
本文链接:https://blog.kying.xyz:666/archives/mybloghistory.html
转载说明:本文采用 CCBY-SA4.0 协议许可 ,部分内容仅代表个人观点,转载请附上原文!