基于openvpn的校园网ipv6免流量方案

 

 

 

  • 0.intro

几个月前,我没事瞎鼓捣,炮制了这么一个东西

[实验]VPS搭建ss服务中转实现纯ipv6访问网络-校园网免流量

还有一个部署自己宿舍网络的一个log

[项目实验]427宿舍质量跃享计划-第一期-网络篇

 

本来这两个文章当初只是想着和本校同学、小圈子间交流交流,传阅着看一看。出乎意料的是,这两篇文章被google检索后,有不少同学过来询问实施方法。

 

事实上,在这个学期,我已经弃用了这种方法。因为我发现原文有若干令人不满意的地方

  • 既然想要转发全部流量,为什么只使用socks代理,干脆使用VPN,就不用面临各种类型连接转发的麻烦
  • 原方案中,udp转发会遇到若干问题,导致如steam无法登陆
  • 在路由器上,使用shadowsocks,流量转发不完全,也会有大量消耗,应该是没有转发udp的问题
  • 学校于这个学期升级了网络系统,至此pppoe拨号和校内动态ip上网相互独立,路由器刷openwrt之前无法正常工作

 

所以直接以openvpn更换了方案。

 


 

  • 1.准备

准备事项(原理)

首先按照以前文章的套路,先说下准备事项。

校园网ipv6免流量的原理参见:http://steinslab.xyz/archives/168

首先中的首先,请确保你自己有ipv6接入,并且确认你的ipv6流量不计费。

 

附:天津大学北洋园校区ipv6使用攻略(windows端)

http://steinslab.xyz/archives/441

注意:本攻略为作者(我)通过人肉神经网络学习算法自己好几天的不断尝试总结出来的经验方法,不代表准确,但是实用率极高。

天津大学在20162学期升级网络系统后,ipv6和原来都为双栈接入,不过网络架构有所不同。

正常包括外网连接分为校内网络动态ip连接和pppoe连接,各自分开。

捕获

你的ipv6连接在下面的连接中。注意:必须PPPoE拨号后,才能有外网的ipv6连通。

如果没有同时分配到“以2403等开头的ipv6地址”和“fe80开头ipv6默认网关”,请在属性中取消勾选ipv6协议稍等片刻后再次勾选,并重新检查。如果数次后仍然不满足条件,请重新启动。

*1:新系统升级后,无法获得ipv6地址及网关为经常的现象(真的无力吐槽这个“神烂系统”,貌似还是花大价钱请的公司(待查证))

*2:有以下经验:频繁插拔网线会导致几十分钟内无法获得ipv6地址

*3:尝试数十次后仍然无法获得ipv6连接,我还是劝你洗洗睡吧,这个破系统,不知道啥时候突然就有了。

 

WTF同学留言说:
whatthefuck 2016-4-17 16:47回复 - ( 编辑 )
IPv6拿不到IP这个事情,骚年,别挣扎了,手动指定网管和IP吧,跟你说局域网内只要有一个人折腾错了,把自己的IPv6广播了,所有人就都拿不到了。以前的经验是,手动指定一个地址和网关,瞬间所有问题都解决,手动解决后就不受错误的广播地址控制了,另外还有一个好处就是能自己自定义一些比较酷的地址,比如DEAD:BEEF结尾之类的,哈哈。 毕业后就没有IPv6网络了T_T

 

那么,作为一种尝试,我们可以直接记录下分配成功时候的ipv6地址、ipv6网关,不用再等待dhcp服务器分配地址,便可接入ipv6网络。

欢迎评论反馈。

********使用攻略结束*************


 

vps准备

然后你需要有一个具有ipv6的VPS去自建openvpn服务端

想了解vps请去搜搜这个东西

推荐使用

DigitalOcean:https://digitalocean.com(含aff,介意自行开网页)

digitalocean 5$每月的配置足够,口碑很好。实测ipv6新加坡节点是直连,延迟只有80ms(没错,ipv4ipv6走的节点线路不一样)

bandwagonhost:https://bandwagonhost.com(含aff,介意自行开网页)

人称搬瓦工,以低价稳定出名。

(注意搬瓦工的后台一键openvpn并没有写ipv6转发,所以不符合需求,需要自行安装)

 


 

  • 2.在服务端准备openvpn

接下来在自己租用的服务器上架设openvpn服务端。

 

细心的人可能看到了,在bandwagonhost的后台有个openvpn一键搭建。然而,这个一键搭建并没有直接配置好的服务端没有进行ipv6相关的设置,需要我们自行搭建。

 

以下操作步骤以CentOS6.6为例。

 

基础:需要操作基本的linux ssh连接。ps:使用putty或者xshell等软件都可以。

这一步是操作一切服务器的基础,进行基本的使用毫无难度,不要一看到自己不熟悉的东西就不尝试了。

 

连接服务器,并登录,能够以root权限进行操作。


"安装和使用openvpn的方法"这个网上稍微一搜都可以找到。详细的懒人直接复制就可以用的命令改天再补。这里我分享出我自己用的

几个比较关键的配置内容。

1.以下为服务端设置文件

2.以下为centos服务器必要设置之一:

在其中把找到该项并启用(改成1)(进入了文本编辑器)

 

使设置立即生效

4.下面建立ipv6 的vpn ipv4的NAT转发(关键)

 

5.启动openvpn服务并加入自启动

6.客户端的配置文件

这里有个技巧就是,要检查跟上面severconfig配套的。

还是截个图吧,windows客户端下,配置文件放置示例

(2016.4.21更新:之前的图少了ca证书文件,由此带来的误导万分抱歉,截图已修正)

QQ截图20160421192148


 

哪天研究研究shell没准可以弄个一键安装脚本2333不过好懒啊!


3.实测

最终来个本方案我的实测图。

服务器是digitalocean的新加坡节点,大家可以看到

20160418140941

每天都有相当一部分人在检索ipv6和校园网。你看完文章尝试的反馈是对所有尝试折腾ipv6的人的最宝贵的财富,也是对我最好的激励。欢迎反馈跟进