利用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设置)

This entry was posted on 星期日, 十一月 7th, 2010 at 20:31 and is filed under 技术宅. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

7 Responses to “利用he.net提供的tunnelbroker配置VPS IPV6支持(附openvpn over ipv6设置)”

  1. press 说道:

    lz,那个he.net的申请好了,配置能不能再详细点。。。。。

    [回复]

    CC 回复:

    @press, 你是VPS还是独立服务器……有sit设备没

    [回复]

  2. WindyWinter 说道:

    那是proto udp6。

    [回复]

    CC 回复:

    @WindyWinter, 已修复,谢谢提醒

    [回复]

  3. wss8848 说道:

    我们想做的是ipv6 over openvpn,不是openvpn over ipv6,博主有什么看法?

    [回复]

    CC 回复:

    @wss8848, 这里有一篇文章 http://b.gkp.cc/2010/09/24/allocate-ipv6-address-via-openvpn/

    不过我没有试过……因为没需求

    [回复]

  4. [...] 参考这篇文章,http://www.ooxxcc.com/techotaku/config-ipv6-using-tunnelbroker。 [...]

Leave a Reply