找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 12220|回复: 2

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

[复制链接]
发表于 2013-4-20 16:09:57 | 显示全部楼层 |阅读模式
默认情况下,VPS商不会给你在OpenVZ启用sit设备(因为需要重新编译内核等等),不用说burst.net这种大公司。没有sit设 备,openvz下除了teredo协议获得IPv6之外,还有一招。" m# j/ Y; @7 i* l* j
使用tunnelbroker获得完整的/64甚至/48块的IPv6。, ]/ A9 }8 b% I; X3 u( B* _
英文来自:http://code.google.com/p/tb-tun/wiki/HOWTO
1 R2 J1 b5 [2 a我经过测试通过,可行的。* z) ~# k4 `+ A1 A8 v. ~
我把具体的过程写下,貌似还没有看到有人写过。 是俺们国人写的。仰慕一下,顺便研究研究代码。以下步骤在Burst.NET的 VPS跑着Debian5下测试通过,在VPSVilla.ca的CentOS系统的VPS上也测试通过。' a, h, M2 |: p) U. W; D+ ~
1. 开启TUN设备。这一步需要服务商来弄。在你发ticket给服务商之前,试试以下命令:
. Z- Y9 U7 V* Q; o  M: ^mkdir -p /dev/net
( C. Z6 g# f# L3 M( c+ Imknod /dev/net/tun c 10 200
+ p, M6 E: j) t3 Zchmod 600 /dev/net/tun
8 G, X1 _: |0 e0 H然后运行9 ?) L3 q* \* f/ s0 q4 U
cat /dev/net/tun
: I' i# j0 }3 ]. d/ }2 v; w假如提示:cat: /dev/net/tun: 文件描述符处于错误状态
1 T2 v5 d0 t2 ]那么应该就是可以使用了的。具体还是发个ticket吧。! m- t5 }. _" e7 {0 G
2. 下载tb-tun软件。mkdir tb3 u# T! U0 |1 E9 j6 \  F& `& @
cd tb
4 c" m5 T. i$ {4 s; L% i8 l! Hwget http://tb-tun.googlecode.com/files/tb-tun_r14.tar.gz
- s3 o& d+ L4 q: G; ntar zxf tb-tun_r14.tar.gz3 C7 s; {) W# T. g: _7 k8 e
3. 编译tb-tungcc tb_userspace.c -l pthread -o tb_userspace
' A# y0 p+ h; y4. 创建Tunnelbroker.net账户这一步。我不多说了。到tunnelbroker.net注 册。需要到邮箱获取密码。- W' ~" d3 k3 `$ A2 k
5. 建立IPv6隧道首先在tunnelbroker.net内,左边找到:Create Regular Tunnel$ G7 j- P+ J! G2 X
进入后:
# D. p2 A! G& f) m* i0 x. R- U6 h5 {2 s. {7 Y! x, Y" R: O
IPv4 Endpoint内填入你的VPS分配到的IP
  l6 z$ S7 C3 Y1 U; w然后在下面选择一个离你的服务器较近的Relay Server.6 s* S9 G/ R* y  [. c% M' Q# c
后面略过。假如你创建成功了,那么就会在Main Page里面的Tunnels里面看到你刚刚建立的Tunnel; }: y& ~& v3 H! O, P
6. 绑定Tunnel这里才是重点。) k! l/ G" J2 R& u, _; Z! i+ x
找到你的tunnel,点进去,你应该看到这样的信息:& j; j, n, a. Z$ M) @

1 y  J' i3 P' W' g这里记录下重点信息:
1 s! h, H: r. |0 dRouted /64就是你被分配的IPv6地址块。你可以从中任意添加IP。例如我这里IP块可以使用:
5 u6 n: l2 Z& w( Y" B/ @9 r6 t2001:470:8:4b9::1
9 N; `$ P. P( V2001:470:8:4b9::2
* @1 A6 V6 F7 }2001:470:8:4b9::3
. B- |# Z0 \9 ^: u% V& i; R$ t: ?  o2001:470:8:4b9:29ad:2812:293a:cafe:11 W5 H, `2 o9 k5 l  e1 N0 [
等等等等。。(当然,要多少添加多少即可,取之不尽阿)
2 M) F/ W( B: q0 ]还有一个重要的信息:! Z) v1 H4 s6 C- [
Server IPv4 Address。这个是HE的服务器IP,作中转,后面用到。0 l( o) f! i4 [6 w1 A8 B
有了这两个信息,就可以开始配置了:
. [4 ~5 A+ g1 R6 x# Tsetsid ./tb_userspace tb [Server IPv4 address] > /dev/null
9 T7 k( i7 N& \, Z' Jifconfig tb up' Z. h1 Y6 H3 ^
ifconfig tb inet6 add [你分配的IPv6地址]/64/ e' s! y' H0 M: t8 }) \) \
ifconfig tb mtu 1480
7 X9 Z0 @" p! J2 \& m6 vroute -A inet6 add ::/0 dev tb
6 f2 t# j5 x+ P  X- x' ]0 H% i例如:
; \5 i1 B* g( _setsid ./tb_userspace tb 216.66.22.2 > /dev/null
+ @8 M$ `0 Y3 s4 Lifconfig tb up
6 w1 B, b: c& @4 Q+ zifconfig tb inet6 add 2001:470:8:4b9::1/64& X3 f6 |0 v% Y2 A) ?
ifconfig tb mtu 1480% h1 @! v+ A6 \% J

5 z4 i2 _5 p& W3 K' W( sDebian: route -A inet6 add ::/0 dev tb
9 ^2 G* e9 E6 E8 u' TCentos: ip -6 route add default dev tb: Q0 Z. Y) I  l- k9 p6 L5 l
完成以上工作,你应该就获得IPv6了。
- m5 j; f3 L& ?0 I1 z( L0 uping一下ipv6.google.com测试一下,假如ping通,那么你的IPv6就拿到手拉。
- g: Z9 J+ L5 T2 L; q5 w) |$ bchencp:~# ping6 ipv6.google.com
- X# X" a, O3 f, d0 {; F1 I7 e5 aPING ipv6.google.com(iad04s01-in-x68.1e100.net) 56 data bytes
2 }5 L0 G2 v. ~64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=1 ttl=59 time=14.9  ms+ O2 k! [) c" V3 n+ n% N* d
64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=2 ttl=59 time=15.8  ms
4 Q; {/ ~, B$ t/ d4 N* f" [3 O" j  D64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=3 ttl=59 time=15.2  ms: O) F1 s1 n, [3 T
至于你后面用这些IP干什么,就不关我的事情拉。
5 y- S$ l( [+ x假如以后还需要添加IP:- K% {9 f. y' X  b
ifconfig tb inet6 add [要添加的IP]/64) A4 ^  X# H4 V) O5 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-1-11 07:24 , Processed in 0.069022 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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