Lab里服务器访问互联网的一种可能的解决方案

写这篇文章之前,我刚搭好校内的6to4转换通道。现在正坐在图书馆里用联通网的线路。

记得去年还是前年看到过一个小广告。一个计算机的学长在实验室做了个服务器,跟大家说只要买他的服务,就可以连NEU再挂上VPN得到超快的网速,而不是慢吞吞的校园网。

当时在想,还有这种好事?

现在想想,大概他当时做的就是我这个东西吧…

好了,该说正题了。

联通上网账号的配置

首先,我们需要一个联通的上网账号,破解它的限制,让它能在路由器上使用。

大一的时候破解过一次联通的深澜拨号器,但是当时不懂「闷声发大财」的道理,写了文章大肆炫耀。。。然后被联通主管知道了,几个月之后联通的工程师把深澜加密方式升级成了{SRUN2},当时的方法也白费了。后来一个学弟破解了{SRUN2}的加密,并且写了心跳软件,保证可以可以欺骗联通的拨号服务器。然而好景不长,现在(2019年3月)联通已经采用了{SRUN3}了。

但是生活总是充满戏剧性。

前几天我发现,联通为了保证老用户能够正常使用,其实是允许不同加密方式并用拨号的。即使是今年新注册的用户也可以使用2015版的认证方式。前提是你有当时的拨号软件,然后成功拨号并在联通那里留下了认证记录。

所以操作就很简单了。连上CNC-PPPoE然后使用2015年的拨号器进行正常拨号。

SRUN的2015版MAC下载地址: https://pan.baidu.com/s/1KpKBRERIqAC7PlhPv8Eoig提取码:7ucs

然后打开Console,查看system.log,找到SRUN字段。那个就是被加密的用户名。(注意不要复制到空格)

然后打开terminal,输入ifconfig查看拨号时使用的网卡的MAC地址。

现在我们有了加密之后的用户名,密码(密码就是原密码,不加密的),MAC地址

将这三条数据输入路由器,即可正常拨号联通上网。

这里其实使用学弟的{SRUN2}也可以。但是由于要用到心跳包(即每隔一段时间向联通认证服务器发送数据,伪装成深澜拨号,不然就会断网),比较麻烦。因此采用{SRUN}方法。

6to4通道服务器的配置

这里我用的是一台闲置的笔记本,安装ubuntu 14的桌面版做的服务器。

由于我那台电脑很老,是用电话线(RJ-11)上网的,所以我用的是两个外加的网卡(RJ-45)。一个网卡eth0连接路由器(联通),一个eth1连接校园网。这样我们就能够从校内任意一个角落连接NEU来访问这台服务器了。然后这台服务器再用联通网访问外网。

要实现上述功能,需要配置两个网卡之间数据的转发,让来自eth1的数据从eth0访问外部网络。不然的话会出现找不到DNS路径,导致无法正常访问ipv4站点的问题。

可是,我懒呀 ;- )

于是我把eth1的ipv4那里,从DHCP改成了Disabled,让网卡获取不到ipv4地址。

这样校园网那里只有ipv6了,这样ipv4的流量就自然而然地使用eth0来访问了。(连我自己都觉得自己很机智)

这样配置下来,基本就完成了。

服务器的访问相关

在校内,我们只需要访问其ipv6地址即可。理论上来说,ip地址是可变的。但实际上,之前我的服务器开了半年多了,期间关机和重启无数次,ipv6地址还是不变。

原因就是ipv6地址实在是太多了,远远没有达到两台设备地址冲突的程度。因此学校的网关会记住原先设备的地址。即使是重启也没有关系。

在校外,大部分人没有ipv6地址。所以最简单的办法就是访问联通的ip了(需要提前做好路由器和服务器的端口映射)。一般来说,由于我们是路由器拨号,所以路由器不是突然断电重播,那么ip地址也是不会变动的。如果害怕ip地址变动,可以在路由器那里做一下ddns的解析。这样只需要使用网址即可访问了。

其他一些小细节

路由器那里其实我并不是直接把它连接到eth0的,而是稍微配置了一下。

第一级路由器用来拨号,并且配置了shadowsocks,让它在访问国内网站的时候都直连(Direct)。这样看哔哩哔哩或者AcFun的时候就不会出现地域错误了。然后在访问国外网站的时候均使用代理(Proxy),这样就能看ニコニコ或者YouTube之类的网站了。注意,这里使用的并不是PAC模式,而是IP区分模式!

然后在一级路由下面再接一个二级路由。此二级路由主要是给数据进行加壳,防止联通检测上网人数的。这样上网人数永远是1人了。这一人就是这台二级路由。之后再从二级路由连接服务器的eth0

然后是客户端。我们在校内只需要使用ss访问服务器的ipv6地址,输入正确的密码和加密方式即可。这里甚至不加密都ok。反正校内没有防火墙,不会检测你的数据是否违规。这里ss client使用全局(Global)模式。

这样理论上来说我们就可以愉悦地在图书馆喝着茶,享受高速的联通网络了。

但是且慢!你会发现微信和QQ发不出去。。。。。

这是因为这两个软件懒得做代理设置,走的是直连。由于我们这里没在ipgw拨号,所以当然发不出去了。那么解决方案有两个。

第一种方法是最简单的。就是先关闭ss-client,然后在ipgw拨好号,再打开ss-client的Global模式。这样qq和微信都是用校园网,而其他的软件都是联通网了。

但是,作为一个校园网已经流量超出了几十G的人,怎么可能会善罢甘休呢?

第二种方法就是,使用Proxifier进行配置,建立规则让WeChat和QQ的全部流量重定向到Localhost的1087端口,这个端口是ss-client的HTTP Global Proxy端口。这样就能够把数据中转到服务器上,使用联通上网了。

这篇文章到这里应该就要结束了。在结束之前,我整理了一下网络访问关系图。

整体网络连接图

校内计算机访问服务器以及访问互联网关系图如下

校内访问服务器及访问网络

校外通过联通网络访问服务器关系图如下

校外通过联通DDNS进行访问服务器

校外通过ipv6直连的关系图,略

5 thoughts on “Lab里服务器访问互联网的一种可能的解决方案

  1. my news

    Hey I know this is off topic but I was wondering if you
    knew of any widgets I could add to my blog that automatically tweet
    my newest twitter updates. I’ve been looking for a plug-in like this
    for quite some time and was hoping maybe you would have some experience
    with something like this. Please let me know if you run into anything.
    I truly enjoy reading your blog and I look forward to your new updates.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *