Steins;Lab

某团的自留研究所

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

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

 

 

*2017.6.23 重新更新了一下。包含具体步骤,和对使用bandwagonhost同学的建议。

 

0.引入及相关阅读

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

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

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

 

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

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

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

 

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

 

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

  • 使用VPN,可以部署在我的树莓派上
  • 原方案中,udp转发会遇到若干问题,导致如steam无法登陆
  • 学校于这个学期升级了网络系统,至此pppoe拨号和校内动态ip上网相互独立,路由器刷openwrt之前无法正常工作

 

关于ipv6校园网免流我已经写了一系列的经验文章。

目前我的宿舍正在使用基于树莓派的无线路由器。详见

[趴会儿project]No.005 用一种“新思路”打造树莓派软无线路由器

[趴会儿project]No.003 基于树莓派的ipv6+OpenVPN校园网免流量无线热点/路由器

 

 


1.准备

1.1 ipv6环境

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

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

关于天津大学ipv6的使用,可以看我的指南文章。

[手册]天津大学ipv6快速使用指南 V2.0 & 疑难杂症解决

 

 

1.2 准备vps

需要一个有ipv6的VPS来自建openvpn服务端。

 

推荐使用的一些主机商

  • DigitalOcean:https://digitalocean.com(含aff,介意自行开网页)
  • digitalocean 5$每月的配置足够,口碑很好。实测ipv6新加坡节点是直连,延迟只有80ms(没错,ipv4ipv6走的节点线路不一样)目前不是了
  • bandwagonhost:https://bandwagonhost.com(含aff,介意自行开网页)人称“搬瓦工”,以低价稳定出名。(注意搬瓦工的后台一键openvpn并没有写ipv6转发,所以不符合需求,需要自行安装)(使用bandwagonhost需要注意一些事项,请参看该章节。)

 


2.openvpn服务端

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

 

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

 

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

 

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

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

 

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

搭建openvpn的教程已经有许多人做了优良教程。以下命令仅为个人留存方便快捷使用,感谢楼主 power4342

下列命令直接取自 http://forum.hnubbs.com/thread-941252-1-1.html

 

服务端设置文件

ctrl+x 保存。

 

2.下面继续配置服务器

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

3.使设置立即生效

若此步骤报错

 

感谢评论区pest的反馈

昨天鼓捣了几个小时,终于弄好了,用的是板瓦工的vps
就是中间遇到 bridge 那个错误的时候,用的是这几个命令
修复modprobe的:
代码如下 复制代码
rm -f /sbin/modprobe
ln -s /bin/true /sbin/modprobe
修复sysctl的:
代码如下 复制代码
rm -f /sbin/sysctl
ln -s /bin/true /sbin/sysctl

 

 

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

注意,这里的“eth0”是指服务器的网卡名称。对于使用bandwagonhost的同学,及其他基于openvz的服务器,请注意网卡名一般为venth0。

 

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

 

 

3.openvpn客户端

客户端的配置文件

注意检查服务端和客户端配置文件相应。

windows客户端配置文件放置示例:

QQ截图20160421192148


 

 

 


4.实测

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

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

早就没有这个速度了。

20160418140941

欢迎反馈,欢迎评论,也欢迎看看我其他的相关文章!

 

211
说点什么

avatar
62 Comment threads
149 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
50 Comment authors
SPtuanWTTATZfengmiehahahahSPtuan Recent comment authors
  Subscribe  
最新 最旧 得票最多
提醒
WTTAT
游客
WTTAT

楼主现在用的是哪家的VPS呢,有推荐吗?

我用的是搬瓦工OpenVZ,之前是直接搬瓦工面板自带的一键那个安装的ss服务器,然后本地ss里面服务器地址填面板首页给的ipv6的地址,加密方式端口密码都是按照ss面板里面给的填的,没有做过其他任何设置,然后加了proxifer之后就能全局代理上网了。

就是**太慢了,平时网页都很慢,speedtest都打不开那种,特殊的百度网盘用会员加速偶尔能上个1到2m/s,用steam更新大部分都是80kb/s心情好一点能上1m,很崩溃。坐标老校区鹏翔。

Zfeng
游客
Zfeng

求一下搬瓦工的KVM使用IPV6的教程 :cry:

Xdmegumi
游客
Xdmegumi

[root@localhost 2.0]# service openvpn start
openvpn: unrecognized service
搬瓦工VPS,遇到了如下情况,怎么处理?

even
游客
even

崩溃,直接用搬瓦工上的一键搭建都连接不起。 Mon Aug 28 23:49:32 2017 OpenVPN 2.4.3 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO… 阅读更多 »

ginger
游客
ginger

博主可以试试linode 速度挺快的
或者aws可以免费用一年(就是ipv6地址配置有点麻烦)

Quinn
游客
Quinn

经过一晚上+半个白天的折腾终于搭好了,非常感谢博主(可能还算是半个直系学长 :evil:
1.那个使用shadows socks对我来说同样可行,但我是PT的重度用户,不知为何用ss进行全局代理只能连接ipv6的地址(没办法ping通所有ipv4地址却能访问所有ipv4网站),并不能够连接公网用户,遂放弃
2.使用openvpn时搬瓦工也给出了帮助安装OpenVPN Server的服务同样在KiwiVM Extras里面,只需要按照你说的修改
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
remote 2400:3687:0:d0::347:d001 10086
两处即可
3.再次感谢

net405
游客
net405

请问你在搬瓦工上配置iptables转发的命令是什么,我用了iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venth0(还有venet0等) -j MASQUERADE,链接时都显示 TLS handshake failed

pest
游客
pest

再来一波反馈,今天又重新配置了一下搬瓦工的vps,发现注意的地方是搬瓦工的网卡名,

/etc/sysconfig/network-scripts/
目录下,看到三个文件
ifcfg-lo ifcfg-venet0 ifcfg-venet0:0
然后我的vps的话 网卡名应该是这三个名称里的一个, :mad: 个人很菜,就把三个名字都用了一遍
之前不懂 网卡名不一样 虽然连上但是还是有一些问题,今天搞好了 :wink:

pest
游客
pest

另外 我把连接方式从tun 改成了tap,虽然不懂这俩有啥区别 :mad:
:cool: 但是有一种速度快了一点的错觉??? :evil:

pest
游客
pest

:sad: 发现ios上不支持tap模式,只好改回tun:confused:

pest
游客
pest

:sad: 发现在我这边确实tap和tun速度差好多,tap快多了,建议配置的小伙伴俩模式都试试看看速度

明酱
游客
明酱

openvpn使用过程中突然报错了,log内容是类似这样的 Tue Jun 20 10:00:53 2017 OpenVPN 2.4.2 x86_64-w64-mingw32 [SSL (OpenSS… 阅读更多 »

pest
游客
pest

昨天鼓捣了几个小时,终于弄好了,用的是板瓦工的vps
就是中间遇到 bridge 那个错误的时候,用的是这几个命令
修复modprobe的:
代码如下 复制代码
rm -f /sbin/modprobe
ln -s /bin/true /sbin/modprobe
修复sysctl的:
代码如下 复制代码
rm -f /sbin/sysctl
ln -s /bin/true /sbin/sysctl
然后就没报错了,另外谢谢博主,全程照这个顺序就搭好啦

明酱
游客
明酱

由于自己对PT资源的需求很大所以只能用SS绕开ut的流量了。线路都搭好了,但是有一个问题,就是我看视频缓冲的速度下午或者深夜能达到1~2mb/s,但是晚上忙时就只有30~80kb/s了,这个带宽的浮动有这么大吗?我身边也没这么弄网关的人,所以不知道这是不是正常情况。我在Linode和搬瓦工的服务器都是这样的速度,就挺奇怪的因为本来听说Linode很坚挺。

openvpn和ut真的不能共存吗,不知道大家有没有什么好主意

mie mie
游客
mie mie

楼主现在还在用Do吗?ping怎么样啊? 从搬瓦工换到vultr,发现ping还是那么高

匿名
游客
匿名

ss+SwitchyOmega其实可以解决很多问题,例如B站正版番啥的。
顺便,隔壁的网络结构真复杂,还要拨号啊 :razz:

匿名
游客
匿名

哦对了 应该是ss+kcptun+SwitchyOmega

Chasing
游客
Chasing

博主,按照你的方法搭建好了,也连接上了,速度极慢。问点问题,首先我的渣渣vps是CAC的,用的tunnel搭建的ipv6。第一,openvpn连接上后查询本机ip应该是ipv4地址还是ipv6地址?我的是ipv4。二,用openvpn的速度真的好慢啊,youtube只能看360p :sad: 我去http://ipv6-test.com/speedtest/测试,ipv4速度300k,ipv6速度500k,这ipv6速度怎么可能比直连还慢 ,请问有可能是什么问题。附:之前VPS端使用BBR加速,SSR+ipv6各种快,youtube1080无压力,请大佬指点,感谢。

扫地僧
游客
扫地僧

Wed Feb 22 15:39:58 2017 library versions: OpenSSL 1.0.1u 22 Sep 2016, LZO 2.09 Wed Feb 22 15:39:58 … 阅读更多 »

六月的羽
游客
六月的羽

北洋园的IPv6并不需要PPPoE拨号才能获得,cmd运行以下两行命令即可立即获取IPv6地址

ipconfig/release6

ipconfig/renew6

Smile
游客
Smile

对,我也用这几个,有时候还用这个,netsh interface ipv6 reset,看来你也是天大新校区的呀,学长你好

浮世梦
游客
浮世梦

openvpn连接不上是怎么回事?求助啊。显示TLS Error: TLS key negotiation failed to occur within 60 seconds (check your … 阅读更多 »

浮世梦
游客
浮世梦

关闭防火墙后,又出现了新的报错 Fri Jan 13 15:33:45 2017 read UDP: Connection reset by peer (WSAECONNRESET) (code=10… 阅读更多 »

浮世梦
游客
浮世梦

啊,openvpn连上了但是上不去网。。。。。

affect
游客
affect

你系统日期错误

affect
游客

你系统日期错误

wgm096350
游客
wgm096350

https://ipv6vpn.net/ 已经有人把握住了商机,不想折腾的可以在这里买一个试试。

MMMMMM
游客
MMMMMM

昨天晚上搭建好,能连上,但是上不了网,今天早上连上又能上网了,但是断了一次再连又上不了网了,是被墙了吗?

1Q94
游客

来更新一下,最新情况换成softether傻瓜搭建成功,但是博主我vultr ipv6一直获取不到?选择服务器时候enable ipv6 了,需要另外怎么操作才能获取ipv6地址求问.

wgm096350
游客
wgm096350

最新情况 openVPN 变绿,所有网站均能访问,百度输入 ip 搜索显示的 VPS 主机的 iPV4 地址而不是 iPV6 地址,访问 https://www.google.co.nz/search?hl=en&q=what+is+my+ip 也显示的是ipv4地址,请问这种情况是不是就是没有转发成功的表现呢?访问 google、油管、fb、tw速度也比较慢。speedtest 显示 ping 217, 下载速度 1.11 M 上传 4.68 M。好慢的速度!

wgm096350
游客
wgm096350

我参考了
http://blog.meixg.com/2015/10/19/centos-openvpn/
这篇文章来的(最后,设置得都乱七八糟的,都不知道到底是哪个设置生效了,反正突然就好用了)

wgm096350
游客
wgm096350

我的 iptables 只加了博主给出的那一条语句,即
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
不知道这样可不可以?

wgm096350
游客
wgm096350

想问问大家你们连接成功后 访问 https://www.google.co.nz/search?hl=en&q=what+is+my+ip 显示的 iPV6 还是 iPV4 地址?

wgm096350
游客
wgm096350

y2b 480P都卡

wgm096350
游客
wgm096350

早上最新测试 ping 174 下载 1.53 M 上传 8.05M
http://www.speedtest.net/ 测试时使用的是 VPS 的iPV4地址(我是用的是旧金山1VPS)。经多次测试,上传速度远大于下载速度,大好几倍。请问大家有没有遇到过这个问题?求解答

wgm096350
游客
wgm096350

为什么我测试的上传速度有8M 而在尝试上传一个视频到y2b上时,速度才几十K呢?如此的话,做速度测试的意义何在呢?

wgm096350
游客
wgm096350

使用 shadowsocks iPV6 能稍微快一点 说好的 1080P 流畅呢?

wgm096350
游客
wgm096350

使用 VPN访问 http://ipv6-test.com/ 显示没有 iPV6 地址,伤心啊!!!!!!!!!!!!设置还是有问题啊

wgm096350
游客
wgm096350

无法访问 https://ipv6.google.com/ 证明 ipV6 确实没有设置正确呀,是不是iptables的问题呢?

wgm096350
游客
wgm096350

digitalocean 用的是 eth0 我注明一下

wgm096350
游客
wgm096350

我如果不需要节省流量,是不是就不用进行流量转发呢?反正每个月IPV4流量都用不完

wgm096350
游客
wgm096350

拜托楼主来个详细点的教程吧
很多点多没说

wgm096350
游客
wgm096350

openVPN版本一定要匹配吗?我在服务器端用的是 2.3.13 ,客户端用的是 2.3.6

wgm096350
游客
wgm096350

服务器端安装 openVPN 以及生成 crt等文件我参考的是这个
http://kunsland.github.io/blogs/2015/03/22/vps-openvpn/
但是conf的配置我则完全使用的是本文的信息,结果不行
太难弄了

wgm096350
游客
wgm096350

这些错误信息代表啥意思呢? Sun Dec 04 19:16:05 2016 MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:25340 … 阅读更多 »

wgm096350
游客
wgm096350

use2.CSR 是怎么是怎么生成的啊?我的VPS上没有 其他的都有

1Q94
游客

哥们,你的搞定了没,参考你给的这个http://blog.meixg.com/2015/10/19/centos-openvpn/我这貌似出现很大问题,服务器端openvpn提示正常运行,客户端一直报错

wgm096350
游客
wgm096350

用Putty如何将VPS上文件复制到本地呢?

wgm096350
游客
wgm096350

怎么把 VPS 上生成的文件复制到windows 7 的本地呢?

wgm096350
游客
wgm096350

这个可以使用 winscp,挺方便的。而且可以GUI方式新建conf文件,更改sysctl.conf文件

wgm096350
游客
wgm096350

使用winscp可以直接将VPS上的文件以GUI的方式拷贝到电脑上,挺方便的

wgm096350
游客
wgm096350

使用OPENVPN是不是可以实现全局翻墙?就是说不仅仅是浏览器,所用软件都可以?这样玩游戏是不是就不用愁了?想想都觉得好激动呀

wgm096350
游客
wgm096350

请问让我测试一下是否可用呢?我用自己电脑的上的 OpenVPN 连接你的vps试试,看看效果如何?

hello
游客
hello

博主你好,为什么我连上之后产生的新的网络连接3显示ipv4和ipv6都没有internet访问权限,但是可以上网而且速度奇慢,只有600k/s左右,我用的是do的san francisco.有什么解决办法吗?

LagLab
游客
LagLab

博主 我卡在签约客户端证书那里,,死活签不了 就是这个 ./easyrsa sign client XXXXX 的

田凯强
游客
田凯强

怎么添加账户,这个每个手机上用openvpn连接?????

brige
游客
brige

解决brige:
1.modprobe bridge

2.lsmod |grep bridge

zhou nb is real nb
游客
zhou nb is real nb

鹅妹子嘤

Savvy.CHN
游客
Savvy.CHN

折腾完之后,openvpn连接也绿了,显示成功了,但是就是上不去网。。。不知道什么情况

domi
游客
domi

你好,你的节点ipv6跟教育网是直连的啊,方便说下那个节点的ipv4的C段吗(我的是128.199.*),我也转去你那边。。。

domi
游客
domi

哎呀,看到别的评论了,我还是继续用sfo了,等DO没钱再换日本的

末路人
游客
末路人

折腾了一天,OpenVPN还是没成功,本地连接connecting has failed,不知道哪里出错了,我在执行[root@localhost ~]# sysctl -p这一步时出现了如下的错误不知是因为这个原因不..
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
error: permission denied on key 'net.nf_conntrack_max'
我是跟着http://blog.meixg.com/2015/10/19/centos-openvpn/ 这篇文章一步步设置的,要是楼主有空的话写从0开始的教程就好了XD

Seriously
游客
Seriously

Sun Aug 28 00:48:46 2016 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Sun Aug 28 00:48:46 2016 TLS Error: TLS handshake failed
Sun Aug 28 00:48:46 2016 SIGUSR1[soft,tls-error] received, process restarting
前面都修正了……然后就Openvpn客户端连不上……(文件已经下载并修改)

Seriously
游客
Seriously

现在是不是ipv6也计入流量消耗了(天大)……我现在无法在未登录校园网情况下使用ipv6……而且流量消耗貌似被计入了

YZ
游客
YZ

编程小白一名。按照网上的方法在DO使用CentOS部署openvpn以后速度很慢。之前在CentOS使用ss时测速可以达到ipv6峰值约9M/s,但是使用openvpn只有2~3M/s,而且一些网站无法访问,例如googel、油管、微博、推等(fb可以)。系统win10 LSTB2016.

Tizen Ye
游客

您好,请问您的新加坡节点v6 ping只有80吗?我直接ping 2400:6180:*直接300+,我当前只好用sfo2,大概在160左右,坐标北京

Yedu
游客
Yedu

兄弟 你哪个学校的,北科大表示链接服务器v6 do sfo2的speedtest。只有11MBps啊, 延迟也是160

Tizen Ye
游客

PKU
最快的时候大概有20M+,慢的时候也就不到10,,

Yedu
游客
Yedu

我这最高才10.。。合着才1M/s,啊 校园网ipv4都能到2M/s, 让我一度怀疑这个 ipv6的连接是不是有问题

wgm096350
游客
wgm096350

看样子这个兄弟你是配置成功了。可以请教几个问题吗?1、为什么我的 sysctl.conf 文件中没有任何 bridge 的字眼?2、sysctl -p 运行无错误,iptables 运行也没出错,openVPN 在VPS 中启动无错误,客户端启动 openVPN 连接变绿,证明能连上服务端,但就是上不去网?3、iptables 真的只需要那一句话就行吗?我看有的教程有很多句?

fly
游客

我是用的裴讯K2搭的路由器走ipv6的SS来免流量,这款路由器在狗东免费的,所以固件挺多,有些固件都有自带ss,openvpn,不用买那些智能路由。

hhh
游客
hhh

openwrt压根获得不到ipv6地址哇0 0 tju的ipv6可以指点一下嘛楼主

看看
游客
看看

网上说VPN特征明显很容易被墙,是吗?安全不?

看看
游客
看看

按照楼主的代码来,全程没啥错误出现,但是到了service openvpn start这一步,就提示启动failed。。。怎么办?

额。。
游客
额。。

楼主,openVPN 启动失败,还有nano /etc/sysctl.conf是什么?命令?去哪运行?

4faramita
游客
4faramita

哦对自己实测 DO 的新加坡似乎是绕美国的啊!ping 400 多啊要命了,只有搬瓦工能顺利油管 4K

4faramita
游客
4faramita

隔壁学校,自用 ss over IPv6。
搬瓦工/DO/vultr 都有不止一个,python libev 也都试过,竟然是最便宜的搬瓦工最快,延迟也只有不到 200ms。
另外最初尝试的就是 OVPN,听说流量特征已经被掌握了,封得快?