找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10307|回复: 2

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

[复制链接]
发表于 2013-4-20 16:09:57 | 显示全部楼层 |阅读模式
默认情况下,VPS商不会给你在OpenVZ启用sit设备(因为需要重新编译内核等等),不用说burst.net这种大公司。没有sit设 备,openvz下除了teredo协议获得IPv6之外,还有一招。
( J/ y  {& \- r0 x" X1 J2 @使用tunnelbroker获得完整的/64甚至/48块的IPv6。7 \: }! S" b: |+ E% ]/ R
英文来自:http://code.google.com/p/tb-tun/wiki/HOWTO
. ^5 O2 R- d/ J  N2 M/ t3 }( @1 g我经过测试通过,可行的。. \/ K$ K8 l/ @4 I+ o
我把具体的过程写下,貌似还没有看到有人写过。 是俺们国人写的。仰慕一下,顺便研究研究代码。以下步骤在Burst.NET的 VPS跑着Debian5下测试通过,在VPSVilla.ca的CentOS系统的VPS上也测试通过。
8 l& J$ L' p! ?$ Z, m( E1. 开启TUN设备。这一步需要服务商来弄。在你发ticket给服务商之前,试试以下命令:/ x, Z* ]+ f# T
mkdir -p /dev/net* u% }% \: i: U. ^
mknod /dev/net/tun c 10 200
* M5 P0 W, g9 \3 M4 {& fchmod 600 /dev/net/tun
8 w; ]( I5 p2 v6 e: X9 x然后运行5 K, o! E) _0 }  @: w* i. x
cat /dev/net/tun
) M% A9 ~" s' S! }, G9 o( c9 Q假如提示:cat: /dev/net/tun: 文件描述符处于错误状态
4 K3 I8 ]2 ?9 ~9 v( f$ s8 V那么应该就是可以使用了的。具体还是发个ticket吧。
& r/ U/ D% t6 e' u1 k+ B& A; Y2. 下载tb-tun软件。mkdir tb4 D( V" K6 a9 r  k) F3 i% O
cd tb
* r  Z; i$ C& l$ w4 @wget http://tb-tun.googlecode.com/files/tb-tun_r14.tar.gz
) G( F4 V+ J+ Y$ M& l# xtar zxf tb-tun_r14.tar.gz
# U7 ?+ \1 d$ I. r7 |3. 编译tb-tungcc tb_userspace.c -l pthread -o tb_userspace
" ]7 }% i8 O/ Z3 C1 r4. 创建Tunnelbroker.net账户这一步。我不多说了。到tunnelbroker.net注 册。需要到邮箱获取密码。
8 {: W  Q& {( o% Y5. 建立IPv6隧道首先在tunnelbroker.net内,左边找到:Create Regular Tunnel
  B3 A6 B8 O8 G! d9 J" y进入后:5 @6 b. }, l- ]

5 B  J, ]" I- c3 ?& H0 @IPv4 Endpoint内填入你的VPS分配到的IP# t  ^  [8 u7 n* g5 I" j* _
然后在下面选择一个离你的服务器较近的Relay Server.
. W* U, t4 M9 o3 v: C% j0 h后面略过。假如你创建成功了,那么就会在Main Page里面的Tunnels里面看到你刚刚建立的Tunnel
" h! H7 }7 ~* N. X) s. c2 k6. 绑定Tunnel这里才是重点。
% C  w/ z9 H9 B2 U找到你的tunnel,点进去,你应该看到这样的信息:
7 r: a0 a+ U" N) W& ~& y# M' v+ Y7 O0 E( [% Q) G' w9 z2 t9 `! M
这里记录下重点信息:8 O; z' Z3 S- W+ x$ q
Routed /64就是你被分配的IPv6地址块。你可以从中任意添加IP。例如我这里IP块可以使用:
! p' A/ T# _5 N$ W2001:470:8:4b9::13 c+ J1 I3 M4 z% |8 |4 ^
2001:470:8:4b9::2
& }4 e* y, W% d9 m* X1 j2 L9 t2001:470:8:4b9::3/ U8 M" M4 P6 ~' I3 D
2001:470:8:4b9:29ad:2812:293a:cafe:1
. p& A/ ~; N$ f等等等等。。(当然,要多少添加多少即可,取之不尽阿)$ n  E! q3 K) S" Z
还有一个重要的信息:* E2 @/ X. y1 P/ f9 i' A
Server IPv4 Address。这个是HE的服务器IP,作中转,后面用到。
( E1 b; _4 @5 K9 [有了这两个信息,就可以开始配置了:+ b1 g) o2 L- ]9 H0 O
setsid ./tb_userspace tb [Server IPv4 address] > /dev/null6 B" n2 j1 R3 \. \5 }/ u& ^: ]
ifconfig tb up( D& d, C) \4 g2 L
ifconfig tb inet6 add [你分配的IPv6地址]/64( h+ z" ]9 }0 c5 ~6 H
ifconfig tb mtu 1480
$ O" z, a' C. ~- Wroute -A inet6 add ::/0 dev tb
, ?9 ]+ |8 Y& A5 g1 l. b例如:/ h& C5 K! @1 c! s: K* d
setsid ./tb_userspace tb 216.66.22.2 > /dev/null) G& S2 n& f1 P: Z& w
ifconfig tb up& `3 Q  g2 M/ a0 T) ~5 J
ifconfig tb inet6 add 2001:470:8:4b9::1/64
/ o( `/ O& m( f1 Q; [ifconfig tb mtu 1480
. K9 r! z' s( N+ U, c( o! t5 W  G; A' s; U8 ~+ n
Debian: route -A inet6 add ::/0 dev tb
: b0 ~) Z  c$ J' t. TCentos: ip -6 route add default dev tb
/ C- Z* K( l% d' |! f3 {. F& B) s完成以上工作,你应该就获得IPv6了。( j& s( B; |8 I8 d
ping一下ipv6.google.com测试一下,假如ping通,那么你的IPv6就拿到手拉。
' `2 p; {' S0 Lchencp:~# ping6 ipv6.google.com: i. z+ Z2 }* {- q3 x6 s
PING ipv6.google.com(iad04s01-in-x68.1e100.net) 56 data bytes
8 ^: R' }9 {( O/ r7 `4 z64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=1 ttl=59 time=14.9  ms* o9 m- {( N5 ?) ~  l8 W
64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=2 ttl=59 time=15.8  ms
7 F# B! s$ O. G! y/ O/ z4 P64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=3 ttl=59 time=15.2  ms
& t& @1 t; k0 {! t$ J" ^6 ]至于你后面用这些IP干什么,就不关我的事情拉。
6 h$ V1 j- T, r1 W假如以后还需要添加IP:% w. h  m- [( x, f0 G( v2 t3 u+ f  ]
ifconfig tb inet6 add [要添加的IP]/64
! L) c7 l% S2 P

本帖子中包含更多资源

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

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-14 06:25 , Processed in 0.068533 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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