Tag Archives: 实验室

在图书馆用联通网! ——改良版

上回(点此阅读)写了如何在任意地点访问Lab里的服务器,这次算是它的改良版。其实也没什么变化的,只是本次服务器只用一个网卡就能获取ipv6和ipv4而已。

算是一个小优化吧。

服务器单网口同时接入校园网和联通网

因为我的路由器也是Linux的一个发行版,padavan,所以可以通过控制台来开启ipv6

首先,我们设置路由器ipv6的连接类型为Native DHCPv6,选择WAN口为外网接口,设置外网地址为Stateless:RA,自动获取DNS,使用DHCPv6获取内网IPv6地址,启用LAN路由通告。然后应用设置。

然后,我们通过控制台逐条输入以下命令:

modprobe ip6table_mangle
ebtables -t broute -A BROUTING -p ! ipv6 -j DROP -i eth2.2
brctl addif br0 eth2.2

这么做是为了:装载ipv6路由表,允许ipv6的数据使用eth2.2,桥接br0和eth2.2使后者成为前者的一个端口。

此处可以将这三行代码保存为脚本,每次路由开机执行。就免去了寝室断电之后要重新执行的麻烦。

这时接在LAN口的设备就能使用联通的ipv4地址,以及校园网ipv6地址了。

然后在这台机器上配置ss-server,即可从校园任何角落连接NEU使用联通网了。

除此之外 搞点事情吧!

既然路由器是linux系统的,为何不好好利用它一下呢?

应当注意到,路由器并没有固定的ip地址,并且可恶的ISP还屏蔽了80端口。所以要实现这个功能,我们需要实现路由器外网ip的ddns,以及80端口的转发。

ddns我选择使用阿里云的,不会像花生壳那样小气每个月只有1GB流量,而且毕竟是阿里系的,安全有保障。

首先,我们需要在阿里云(点此打开)注册账户,此步具体方法略。然后我们打开控制台,鼠标放在右上角头像那里,点击accesskeys,这里会提醒你注意安全,不要理他直接点击继续使用accesskey即可。然后创建一个accesskey。注意!不要向任何人透露你的accesskey和secret!妥善保管!

返回控制台,在左侧应用列表中找到云解析dns这个选项。将你的顶级域名添加进去。比如这里就是leoxxxx.info

之后阿里云会提示要在域名购买商那里把NS改为ns1.aliname.com之类的,照做即可。

至此,在阿里云端的动态解析就完成了。现在我们带着key和secret,访问路由器的动态域名解析页面,将他们填入aliddns对应位置,然后在域名那里填上自己喜欢的名称,如这里我填的是router.leoxxxx.info,方便记忆。

动态域名解析到此结束。然后我们开始配置WAN口的UPnP转发。

为什么要配置这个呢?就是可恶的联通封锁了80端口。所以我们必须要用其他端口了。

这里我配置了2条。一条是路由器192.168.123.1:80端口TCP协议转发到WAN口1234端口。另一条是内网的服务器(就是我那台破Dell电脑,此处可自行换成Lab的服务器)192.168.123.18:22转发到外网的1022端口。方便使用ssh

至此,我们的配置就完成了。

要管理路由器时,在浏览器输入router.leoxxxx.info:1234然后输入用户名和密码即可。

使用网址随时管理路由

如果启用samba和ftp的话,就能够使用ftp随时随地访问自己的私人云盘。此处不需要加端口号。

ftp访问私有云盘

访问服务器(我寝室那台破戴尔电脑)的时候,输入ssh -p 1022 suzu@router.leoxxxx.info,而访问路由器本体的时候,则是ssh suzu@router.leoxxxx.info,可以通过端口号区分。

另一个好处就是,这样即使ipv6地址变了之后也不怕了(因为我发现桥接之后ipv6地址可能会改变)。我们可以ssh上去直接ifconfig看一下。

这个方案的一个缺点就是开一天的笔记本电脑,每天都要耗费一度电。

所以我打算用导师给的零花钱(此处感谢良心导师!!!)买个树莓派专门运行ss-server程序,就不用笔记本了,开一天也不耗什么电,美滋滋。

至此本文就结束了。

预祝大家 令和年,新年大吉!

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直连的关系图,略