利用he.net提供的tunnelbroker配置VPS IPV6支持(附openvpn over ipv6设置)
花了一天时间折腾VPS的ipv6配置,现在教育网有原生ipv6支持,直接连上自己服务器的ssh/openvpn服务访问外网,速度相当的不错
基本每一步骤都有人写教程,我就不重复,贴过来好了,大概有下面几块
================================================
准备工作,openvpn和tb-userspce都要用到tun这个模块,可以用cat /dev/net/tun来测试,如果提示“cat: /dev/net/tun: File descriptor in bad state”则为正常
要通过openvpn上网需要ip-masquerade这个模块
如果没有上述模块抓紧写ticket让服务商给你解决
另外,brust.net的用户可以直接写一个ticket要求增加ipv6地址……原生的更好用
================================================
申请+使用HE.net提供的tunnelbroker,方法见这里(其实很简单)。
由于我的服务器是基于openVZ的,服务商没有在内核中提供sit设备的支持,在写ticket请求支援(最后还是没解决)的时候找到了这篇文章。
它使用了一个开源项目tb-tun,这个项目的说明是
TB-TUN is an tiny userspace program to build 6to4/tunnelbroker/ISATAP tunnel for Linux.
这样服务端的IPV6支持就设置好了,可以通过设置域名的AAAA记录来充分利用,现在就可以到处分发ipv6 ssh等好东西了。
使用方式
1 2 3 4 | svn checkout http://tb-tun.googlecode.com/svn/trunk/ tb-tun cd tb-tun gcc tb-userspace.c -lpthreads -o tb-userspace cp tb-userspace /bin/ |
然后使用文末提供的脚本即可
================================================
如果你之前配置过openvpn的话,openvpn over ipv6只需要简单的改一下配置即可。如果没配置过,请参见这里。
架设openvpn over ipv6的教程参见这里。基本要点就是把proto udp改为proto udp6,另外还有相应服务器IP改为ipv6地址即可。
================================================
成功连接openvpn之后,就可以随便访问网络了。不过这样教育网内的东西也绕了一个大圈子,参照了这个项目的想法(国内IP直连,国外IP走VPN),从这里找到了教育网的所有免费IP段,处理了一下得到了一个路由表。
于是现在我的网络连接是免费IP以及ipv6地址直连,其他IP统统走VPN。试了一下速度很快,下骡子能达到700多K(挂翻墙VPN下载,我好寂寞)
懒得处理的孩子可以下载附件,贴到openvpn配置文件的末尾即可。对了,别忘了在配置文件的前面加上一句
max-routes 2048;
附件在这里->routemap
公网用户可以试试chnroutes这个项目,改成了国内服务直连,国外服务走VPN
================================================
附赠配置文件几枚
tunnelbroker ipv6自动配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #!/bin/bash ### BEGIN INIT INFO # Name: ipv6 config using tunnelbroker # Usage: 保存在/etc/init.d/目录下,使用命令update-rc.d ipv6 defaults 15 # 可以自动开机时运行 # Tips: 修改72.52.104.74 66.197.184.161 # 为tunnelbroker服务器和你的主机的IP ### END INIT INFO case "$1" in start) setsid /bin/tb_userspace tb 72.52.104.74 66.197.184.161 sit > /dev/null & sleep 5 ifconfig tb up ifconfig tb inet6 add 2001:470:84dd::/48 ifconfig tb inet6 add 2001:470:1f04:fe4::2/64 ifconfig tb inet6 add 2001:470:1f05:fe4::/64 ifconfig tb inet6 add 2001:470:1f05:fe4::1/64 ifconfig tb inet6 add 2001:470:1f05:fe4::2/64 ifconfig tb inet6 add 2001:470:1f05:fe4::3/64 ifconfig tb inet6 add 2001:470:1f05:fe4::4/64 ifconfig tb inet6 add 2001:470:1f05:fe4::5/64 route -A inet6 add ::/0 dev tb exit 0 ;; stop|restart|force-reload) ifconfig tb down killall tb_userspace exit 0 ;; *) echo "Usage: $0 {start|stop|restart|force-reload}" >&2 exit 3 ;; esac |
openvpn ip转发
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | ### BEGIN INIT INFO # Name: openvpn ipv4 forward config # Usage: 保存在/etc/init.d/目录下,使用命令update-rc.d ipforward defaults # 即可自动开机时运行 ### END INIT INFO case "$1" in start) iptables -t nat --flush #iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o tb -j MASQUERADE iptables -t nat -A POSTROUTING -s 10.8.1.0/24 -o venet0 -j MASQUERADE iptables -t nat -A POSTROUTING -s 10.8.1.0/24 -o tb -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward /sbin/sysctl -w net.ipv4.ip_forward=1 exit 0 ;; stop|restart|force-reload) iptables -t nat --flush exit 0 ;; *) echo "Usage: $0 {start|stop|restart|force-reload}" >&2 exit 3 ;; esac |
———————————————————————————
原创文章,转载请注明: 转载自技术宅的寂寞
本文链接地址: 利用he.net提供的tunnelbroker配置VPS IPV6支持(附openvpn over ipv6设置)

lz,那个he.net的申请好了,配置能不能再详细点。。。。。
[回复]
CC 回复:
十一月 10th, 2010 at 11:06
@press, 你是VPS还是独立服务器……有sit设备没
[回复]
那是proto udp6。
[回复]
CC 回复:
十一月 10th, 2010 at 19:39
@WindyWinter, 已修复,谢谢提醒
[回复]
我们想做的是ipv6 over openvpn,不是openvpn over ipv6,博主有什么看法?
[回复]
CC 回复:
十一月 30th, 2010 at 23:03
@wss8848, 这里有一篇文章 http://b.gkp.cc/2010/09/24/allocate-ipv6-address-via-openvpn/
不过我没有试过……因为没需求
[回复]
[...] 参考这篇文章,http://www.ooxxcc.com/techotaku/config-ipv6-using-tunnelbroker。 [...]