找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10013|回复: 2

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

[复制链接]
发表于 2013-4-20 16:09:57 | 显示全部楼层 |阅读模式
默认情况下,VPS商不会给你在OpenVZ启用sit设备(因为需要重新编译内核等等),不用说burst.net这种大公司。没有sit设 备,openvz下除了teredo协议获得IPv6之外,还有一招。3 D' H/ r" K; e8 ^: k, L5 H  G! C
使用tunnelbroker获得完整的/64甚至/48块的IPv6。
1 \8 h* D9 p- {6 R英文来自:http://code.google.com/p/tb-tun/wiki/HOWTO
1 a; j  w( g' ^我经过测试通过,可行的。
1 }$ d5 y0 s, d2 r: @我把具体的过程写下,貌似还没有看到有人写过。 是俺们国人写的。仰慕一下,顺便研究研究代码。以下步骤在Burst.NET的 VPS跑着Debian5下测试通过,在VPSVilla.ca的CentOS系统的VPS上也测试通过。) ~# N' h* A; N' r# y, I& s
1. 开启TUN设备。这一步需要服务商来弄。在你发ticket给服务商之前,试试以下命令:
# E' b7 ]: _2 mmkdir -p /dev/net" ^+ C7 z5 F/ {* H- n) P
mknod /dev/net/tun c 10 200" \% i4 |2 Y5 r. ]
chmod 600 /dev/net/tun. c; A- v) |" P) c3 y: ?
然后运行- T) D* ]& {8 ]* E
cat /dev/net/tun
) v/ F1 n" K5 I% F: y3 l假如提示:cat: /dev/net/tun: 文件描述符处于错误状态
, ~, @: I# }$ q那么应该就是可以使用了的。具体还是发个ticket吧。& N+ l% S0 w4 |' H. b
2. 下载tb-tun软件。mkdir tb  m7 y/ V9 F- G* t
cd tb+ {$ F$ t9 A6 @0 z5 U" l5 q2 j
wget http://tb-tun.googlecode.com/files/tb-tun_r14.tar.gz1 b$ U( }, y1 R
tar zxf tb-tun_r14.tar.gz5 T* x' Q7 W+ d3 ~) D  I
3. 编译tb-tungcc tb_userspace.c -l pthread -o tb_userspace$ c: @* U* A1 q1 p8 }- \1 m6 C
4. 创建Tunnelbroker.net账户这一步。我不多说了。到tunnelbroker.net注 册。需要到邮箱获取密码。2 A1 W. F4 E% y& C2 }% y* j$ }
5. 建立IPv6隧道首先在tunnelbroker.net内,左边找到:Create Regular Tunnel( i( f: f$ ]  p
进入后:3 C! T/ j4 z* L, H" g

! U6 C" z6 b! u; |$ nIPv4 Endpoint内填入你的VPS分配到的IP1 \* n, M  L% c* D  a: k
然后在下面选择一个离你的服务器较近的Relay Server.; S9 K  k/ V! [. W
后面略过。假如你创建成功了,那么就会在Main Page里面的Tunnels里面看到你刚刚建立的Tunnel
- k5 e" M3 @, S! s/ C5 [+ t. ]6. 绑定Tunnel这里才是重点。' }' e/ D; I- t* V2 f
找到你的tunnel,点进去,你应该看到这样的信息:
4 y' N; G& \" p0 _9 y% n
; f9 y- D* c$ q这里记录下重点信息:
! h3 M6 E3 b( e: r' z+ Y, sRouted /64就是你被分配的IPv6地址块。你可以从中任意添加IP。例如我这里IP块可以使用:
( [/ M& B: g, _8 k. w2001:470:8:4b9::1: X5 r! [5 L% o0 J$ ^: ?
2001:470:8:4b9::26 I, M( V0 K, n. X; o2 |
2001:470:8:4b9::3
( Y5 J" o: F, n" Y2001:470:8:4b9:29ad:2812:293a:cafe:15 M# D9 U; ~; O* }. c, R
等等等等。。(当然,要多少添加多少即可,取之不尽阿)' V+ ]: A/ X/ ^" s7 }5 c+ s5 z
还有一个重要的信息:/ U4 n/ ]( Q9 P2 j9 h) G8 O
Server IPv4 Address。这个是HE的服务器IP,作中转,后面用到。
* Y* T$ M7 ]8 l有了这两个信息,就可以开始配置了:5 t. k$ X/ F6 {+ A
setsid ./tb_userspace tb [Server IPv4 address] > /dev/null
* G" z" @/ d$ M& l* z: ]  W! Xifconfig tb up
7 p% `$ e1 }& t3 ~7 eifconfig tb inet6 add [你分配的IPv6地址]/64: w3 |) s4 F% j! l" ~; P
ifconfig tb mtu 14801 @1 C# S5 _1 a( i3 \7 w; p  [
route -A inet6 add ::/0 dev tb
9 f) V+ r. }  v6 j" T* o例如:
4 X: l7 o# i" p3 ~( C9 Ksetsid ./tb_userspace tb 216.66.22.2 > /dev/null
5 r7 O# L  L: Q' {  aifconfig tb up: I( q3 v/ e# h) b
ifconfig tb inet6 add 2001:470:8:4b9::1/64
' S  V7 u( V& }ifconfig tb mtu 1480: A; _5 s. S: v
8 K6 N# s6 ]. B8 R2 ]( D
Debian: route -A inet6 add ::/0 dev tb
$ Z1 g+ {6 K0 }" k2 I6 KCentos: ip -6 route add default dev tb
) ?5 P/ t" z  X( X! {+ _完成以上工作,你应该就获得IPv6了。" R$ w8 V; j4 |- I+ T" }% `
ping一下ipv6.google.com测试一下,假如ping通,那么你的IPv6就拿到手拉。
/ ~9 t4 J7 W1 |5 q/ v5 I" K* ?chencp:~# ping6 ipv6.google.com/ F1 y+ o  ?1 }7 B6 I+ M8 F
PING ipv6.google.com(iad04s01-in-x68.1e100.net) 56 data bytes
2 h( l. ^. F$ g4 y) C64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=1 ttl=59 time=14.9  ms
. J' x, N# d) s. z& G! I2 ~* W64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=2 ttl=59 time=15.8  ms
) j" X) n# f+ ?4 f. T64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=3 ttl=59 time=15.2  ms6 |9 r  I  ?( ^7 R! o
至于你后面用这些IP干什么,就不关我的事情拉。. ]* ~: H" e& P! ~% X( z6 J
假如以后还需要添加IP:  n9 g) t+ s- l
ifconfig tb inet6 add [要添加的IP]/64
! R; n* d" ]0 z! c2 }4 I

本帖子中包含更多资源

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

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-12 10:42 , Processed in 0.078596 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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