找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 15148|回复: 2

OpenVZ虚拟机里配置tunnelbroker.net的IPv6隧道

[复制链接]
发表于 2013-4-20 16:09:57 | 显示全部楼层 |阅读模式
默认情况下,VPS商不会给你在OpenVZ启用sit设备(因为需要重新编译内核等等),不用说burst.net这种大公司。没有sit设 备,openvz下除了teredo协议获得IPv6之外,还有一招。% K7 h/ w6 }' K1 a/ H8 s
使用tunnelbroker获得完整的/64甚至/48块的IPv6。8 W$ }" j  d( t
英文来自:http://code.google.com/p/tb-tun/wiki/HOWTO3 J) ?3 x: T9 ]+ ?- O8 t3 o, M
我经过测试通过,可行的。3 [- r& y. U" N! n! I
我把具体的过程写下,貌似还没有看到有人写过。 是俺们国人写的。仰慕一下,顺便研究研究代码。以下步骤在Burst.NET的 VPS跑着Debian5下测试通过,在VPSVilla.ca的CentOS系统的VPS上也测试通过。8 V8 `2 i4 g( q' x6 x
1. 开启TUN设备。这一步需要服务商来弄。在你发ticket给服务商之前,试试以下命令:
5 P9 w1 E+ d5 E' y6 Q' C- Zmkdir -p /dev/net
& i9 E5 j- o1 |, Rmknod /dev/net/tun c 10 2003 Y. L( h% L7 y9 A9 j
chmod 600 /dev/net/tun% A% S' b0 ?. n1 X+ O+ D" _. P
然后运行& R, L4 g; Q6 V: y/ S. P0 ]
cat /dev/net/tun
! P  Z9 x. Y* K' h. ^- i; m+ W- e假如提示:cat: /dev/net/tun: 文件描述符处于错误状态$ E/ F5 d, P7 G5 `
那么应该就是可以使用了的。具体还是发个ticket吧。# [- b! o  ?: ^5 Y$ y
2. 下载tb-tun软件。mkdir tb  }. M: H  H6 E' _
cd tb  t4 h1 Q/ `, y+ A' B9 r: n
wget http://tb-tun.googlecode.com/files/tb-tun_r14.tar.gz7 S% ]. y  d" ^7 F8 M5 }, |" K& w2 ?
tar zxf tb-tun_r14.tar.gz: D: ^# T; B, L) v
3. 编译tb-tungcc tb_userspace.c -l pthread -o tb_userspace9 T1 ]* z4 g$ |& |, k
4. 创建Tunnelbroker.net账户这一步。我不多说了。到tunnelbroker.net注 册。需要到邮箱获取密码。. C- ^/ |. L. w! ~3 x
5. 建立IPv6隧道首先在tunnelbroker.net内,左边找到:Create Regular Tunnel
' [, F% I# I  V' V1 q& Q0 Y" H, H进入后:, l7 g# b$ Y  i

$ f4 H1 V! V+ ?7 y: J1 T% PIPv4 Endpoint内填入你的VPS分配到的IP。1 _8 p4 W+ f/ k7 D3 _
然后在下面选择一个离你的服务器较近的Relay Server.
% k+ A" Q& c9 R5 a2 \6 g) _& v后面略过。假如你创建成功了,那么就会在Main Page里面的Tunnels里面看到你刚刚建立的Tunnel' F; g6 T4 G0 P- N+ T  y3 l/ j/ q$ G
6. 绑定Tunnel这里才是重点。- _1 V: J! o; X* J% m
找到你的tunnel,点进去,你应该看到这样的信息:
; ]! @3 V( m6 R* L, p9 z( L; N
这里记录下重点信息:0 E. B! U& A; O5 W
Routed /64就是你被分配的IPv6地址块。你可以从中任意添加IP。例如我这里IP块可以使用:. I+ s% C) x7 B* I: R7 x
2001:470:8:4b9::16 r3 X: a& \# k% m- m
2001:470:8:4b9::2& {  }+ C- ]4 }7 [
2001:470:8:4b9::3( t( o1 Y' F6 D2 T; y8 A+ r
2001:470:8:4b9:29ad:2812:293a:cafe:11 t; q, B, O1 L& M1 l8 q) @; f
等等等等。。(当然,要多少添加多少即可,取之不尽阿)/ o- [) z3 L7 t3 v: U, f
还有一个重要的信息:& ~  ^/ s2 u: Y7 ~9 m4 j+ b
Server IPv4 Address。这个是HE的服务器IP,作中转,后面用到。7 H2 z0 r+ j6 |5 j0 L
有了这两个信息,就可以开始配置了:4 v& @7 n( ^" g! @5 x. i8 H
setsid ./tb_userspace tb [Server IPv4 address] > /dev/null2 r5 J, ?- [1 \
ifconfig tb up7 U6 `) W1 l, M7 s& N' Y. {
ifconfig tb inet6 add [你分配的IPv6地址]/64
% L! `% J" R0 }( c" U8 l; |8 ^ifconfig tb mtu 1480) y. X  M$ m4 w1 y1 b
route -A inet6 add ::/0 dev tb
# C& h9 {  u3 T! I) J3 u7 j例如:- u7 a: ~( J5 @7 b9 T- J0 x1 {
setsid ./tb_userspace tb 216.66.22.2 > /dev/null
( T# T* F5 ^: e; ~1 ~4 |ifconfig tb up
$ I0 G2 g% R1 A; Qifconfig tb inet6 add 2001:470:8:4b9::1/64
$ g5 h' [; L# ]ifconfig tb mtu 1480, v5 }6 D6 u5 Q! c
9 x% |$ z" T- M! M
Debian: route -A inet6 add ::/0 dev tb) A; V7 g$ v: e+ |
Centos: ip -6 route add default dev tb8 H) o9 W; v0 R, Q) P. W
完成以上工作,你应该就获得IPv6了。
7 ^6 `# p4 E# H# @$ p+ qping一下ipv6.google.com测试一下,假如ping通,那么你的IPv6就拿到手拉。
+ ?& ~& l1 b* i) qchencp:~# ping6 ipv6.google.com
) O" N& Y2 f. Q9 j' }0 C5 LPING ipv6.google.com(iad04s01-in-x68.1e100.net) 56 data bytes
7 i% M! A2 z+ J. ^* q64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=1 ttl=59 time=14.9  ms
8 O: p  H5 }0 |: P. j64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=2 ttl=59 time=15.8  ms
! u4 S2 [, C! c/ @& \) ^# E64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=3 ttl=59 time=15.2  ms
* G3 R# h- Y2 Q* Z* R* o) y9 Z至于你后面用这些IP干什么,就不关我的事情拉。
" k" q; l0 R  [假如以后还需要添加IP:+ D+ D/ T: Y4 _  P8 f
ifconfig tb inet6 add [要添加的IP]/646 p# ~, K/ y/ R

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
 楼主| 发表于 2013-4-20 16:12:34 | 显示全部楼层
本文来自:http://ccp.li
回复

使用道具 举报

发表于 2013-4-25 13:11:02 | 显示全部楼层
看了LZ的帖子,我只想说一句很好很强大!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|第一站论坛 ( 蜀ICP备06004864号-6 )

GMT+8, 2026-11-1 11:46 , Processed in 0.065948 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表