分类: Linux, NET, Single-Board, 树莓派, 校园网, 西安交通大学

XJTU校园网免流专题

注:本文不涉及移动电信等运营商网络

从网络认证说起

西安交通大学的校园网可以分为三块:

  • 宿舍区网络:使用网线接入,PPPOE拨号获取ipv4&ipv6,ipv4访问外网需要网页认证。
  • xjtu_wlan:覆盖全学校的wifi,连接无需无密码认证,dhcp获取ipv4,访问外网需要网页认证。
  • xjtu_lib:图书馆区域的wifi,连接无需无密码认证,dhcp获取ipv4,访问外网需要网页认证。

注:这三个网络同属内网区域,无需认证即可互访,这是本文内容的重要基础!

账号及计费及带宽:

  • 宿舍区:ipv4外网每月免费15G,内网及ipv6无限。每个pppoe拨号带宽50M
  • xjtu_wlan:一般同学该是没账号的吧…不过依照下文操作我们将可以使用它,20M
  • xjtu_lib:这个不是本文重点…每月免费10G外网流量绝对是够用了

附:XJTU内外网ip段划分

使用SS架设代理服务器

Shadowsocks(中文名称:影梭)是使用PythonC++C#以及Go等语言开发、基于Apache许可证开放源代码软件,用于保护网络流量、加密数据传输以及突破中国网络审查

Shadowsocks使用Socks5代理方式。Shadowsocks分为服务器端和客户端。在使用之前,需要先将服务器端部署到服务器上面,然后通过客户端连接并创建本地代理。

这是wikipedia的条目,虽然本站不经过GFW,但对于某些不存在的东西还是划掉为妙。

什么,服务器架设好像很麻烦的样子?没关系,我已经写好脚本了,你只需要连上你的vps,用root运行以下命令就好了(什么是vps?请移步【vps指南】//我还没写你咬我啊)

选择1安装所需软件,并按提示完成操作。安装完成后,选择7安装ss服务端。btw,你可以添加不止一个服务端,至于为什么要这么做,你会明白的。

tips: ifconfig命令可以查看服务器ip

SS客户端

既然服务端已经起来了,那么我们需要的便是客户端啦。然而由于ss某些不可描述作用,你很难在强国的主流引擎上发现他,所以这儿提供下载(当然你可以在github找到他)。

安卓客户端    Windows客户端

唔,这是免流专题,给手机分个ipv6可不容易,所以这里先以windows为例(首先你得直接用电脑拨号确保获取到ipv6)

填入之前搭建的服务器各项数据,然后右键任务栏右下角小飞机,启用系统代理。

再打开浏览器访问某网页试试,嗯,确实是从服务器走的流量呢,呃,可是?

使用KCPTUN进行加速

你说我一个50M的校园网,怎么就跑成这样了呢?这个速度连看个视频都卡啊,还怎么愉快的的玩耍?!幸好,勤快的人已经准备好了一切,我们要做的,只是使用它罢了。

Kcptun 是一个非常简单和快速的,基于 KCP 协议的 UDP 隧道,它可以将 TCP 流转换为 KCP+UDP 流。而 KCP 是一个快速可靠协议,能以比 TCP 浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果。

还记得刚才用脚本安装的shadowsocks么,其实kcptun已经一起安装啦。直接运行autoset.sh脚本选择4安装kcptun服务端就可以了。

在修改默认参数前请先阅读https://github.com/xtaci/kcptun/blob/master/README-CN.md

既然服务端好了,那么接下来的就是kcp客户端了。强烈建议准备一台Linux机器作为内网服务器(下文所有内容均基于此)。你可以选择树莓派之类的小鸡,也可以用电脑开一台虚拟机,当然也可以向我租一台内网的vps(很便宜的…)

好,现在你有一台Linux机器作为内网服务器了(没有且不打算有的筒子请按下Ctrl+w),用root运行

好吧这就是刚才那一条,服务器和客户端其实是同一个脚本…各种派的用户在安装完后追加两条命令

然后选择5添加客户端即可

此时 内网服务器ip:kcp客户端监听端口 等价于 ss服务器ip:ss服务器端口。 我们来测试一下:

wow!*★,°*:.☆\( ̄▽ ̄)/$:*.°★*

使用Supervisor对服务器进行管理

Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动、重启、关闭进程(不仅仅是 Python 进程)。除了对单个进程的控制,还可以同时启动、关闭多个进程,比如很不幸的服务器出问题导致所有应用程序都被杀死,此时可以用 supervisor 同时启动所有应用程序而不是一个一个地敲命令启动。                                                       —— resource

HTTP管理

记得安装的时候了么

呃,这里有个bug来着…脚本自动获取的ip可能不对…你可以手动更改/etc/supervisor/supervisor.conf最后的那些内容来修正他,要不…要不…忘了这个功能吧

一个网页管理页面的实例:

CTL管理

Windows系统下的全局代理

ss的windows客户端只是给浏览器提供了代理,那另外程序怎么办呢?Proxifier可以令windows所有程序都走代理。

Proxifier     5EZ8G-C3WL5-B56YG-SCXM9-6QZAP
咦,这里怎么有乱码

使用脚本在内网服务器上添加ss客户端:

Proxifier添加服务器

设置代理规则

进阶:均衡负载!

注意哦,前面说过,是每个pppoe拨号有50M带宽

所以如果你有好多服务器,如果你可以多拨,你可以如图创建一个均衡负载的链

效果么,我只是二拨

WARMING:此招慎用,当实际下载带宽为50M时,依据kcp的效率,你已经占据了上百M的带宽…然后你的室友…活生生的公地悲剧

XJTU_wlan 的另类使用方式

开头就说了,xjtu_wlan是可以直接访问宿舍区网络的,所以…如果你用安卓机的话,直接挂个ss连上内网服务器就好啦

 

 

喵?

评论

    • 呃,我倒是想放到网络中心去…宿舍用openvz虚拟出来开的(想试试其他构架也是可以的)