找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 15091|回复: 2

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

[复制链接]
发表于 2013-4-20 16:09:57 | 显示全部楼层 |阅读模式
默认情况下,VPS商不会给你在OpenVZ启用sit设备(因为需要重新编译内核等等),不用说burst.net这种大公司。没有sit设 备,openvz下除了teredo协议获得IPv6之外,还有一招。/ F7 `% L0 T; x/ K
使用tunnelbroker获得完整的/64甚至/48块的IPv6。
1 c2 q+ ?6 s& V英文来自:http://code.google.com/p/tb-tun/wiki/HOWTO7 x, b- P5 V& a# y4 c0 u- c. _
我经过测试通过,可行的。
9 ?2 P+ M: z! g" S& x我把具体的过程写下,貌似还没有看到有人写过。 是俺们国人写的。仰慕一下,顺便研究研究代码。以下步骤在Burst.NET的 VPS跑着Debian5下测试通过,在VPSVilla.ca的CentOS系统的VPS上也测试通过。& q( }  }/ u0 |3 S
1. 开启TUN设备。这一步需要服务商来弄。在你发ticket给服务商之前,试试以下命令:
! b+ t* S! [) x/ G% ^mkdir -p /dev/net* I  ?; i- [- _$ i
mknod /dev/net/tun c 10 2008 ^+ _' E. K" O( x
chmod 600 /dev/net/tun% s; R8 G. |$ Y! ]. W! H' g
然后运行( W. ?3 P, X/ {0 z3 M2 J9 H
cat /dev/net/tun4 v1 _; }2 D1 M$ k) m( W
假如提示:cat: /dev/net/tun: 文件描述符处于错误状态! C2 W, @5 v8 X+ E: b( W% T
那么应该就是可以使用了的。具体还是发个ticket吧。
- O0 g* M6 S, F* p$ j2. 下载tb-tun软件。mkdir tb2 s4 o2 R5 G) A, {; h/ D: L
cd tb4 T4 F3 H& d+ x; Q
wget http://tb-tun.googlecode.com/files/tb-tun_r14.tar.gz; d- `- N; ~' z9 A0 \* i
tar zxf tb-tun_r14.tar.gz
6 W" a$ m0 ]3 b3. 编译tb-tungcc tb_userspace.c -l pthread -o tb_userspace* t5 X% U' ~+ }- k1 c% C6 d
4. 创建Tunnelbroker.net账户这一步。我不多说了。到tunnelbroker.net注 册。需要到邮箱获取密码。
1 S( K$ l6 U9 k6 y5. 建立IPv6隧道首先在tunnelbroker.net内,左边找到:Create Regular Tunnel
7 k- X8 U4 q: p0 D0 ?8 u进入后:
8 C( W+ E2 {$ Y! `) o6 A, m, `1 |5 `5 o
IPv4 Endpoint内填入你的VPS分配到的IP。, l! ^2 x* B8 D# a
然后在下面选择一个离你的服务器较近的Relay Server.
$ E3 q  ^! D) G后面略过。假如你创建成功了,那么就会在Main Page里面的Tunnels里面看到你刚刚建立的Tunnel2 f5 t% ]5 j* T2 {, P' q" s' e
6. 绑定Tunnel这里才是重点。0 H7 s+ x+ k; t  e
找到你的tunnel,点进去,你应该看到这样的信息:8 E( e' a) y6 E" E9 \. m
% A1 O$ H) ]5 F) K3 |) [# m
这里记录下重点信息:# }4 r2 [1 d+ O% R+ D4 t8 F
Routed /64就是你被分配的IPv6地址块。你可以从中任意添加IP。例如我这里IP块可以使用:/ c' |% [' ?: }$ ~5 ]
2001:470:8:4b9::16 {: ?0 D2 H3 Z3 [) O4 F* @
2001:470:8:4b9::2$ H9 t4 A& Y' r
2001:470:8:4b9::3, s7 s$ `$ X  p" ^" x* n' J
2001:470:8:4b9:29ad:2812:293a:cafe:1
9 }" i, b# Q( S' \! ?2 c" Y% t等等等等。。(当然,要多少添加多少即可,取之不尽阿)
' K6 x: q0 [8 n还有一个重要的信息:! S4 c  ~" M/ z3 i. R9 y/ m
Server IPv4 Address。这个是HE的服务器IP,作中转,后面用到。
. P8 i$ l1 t# u# O7 n; O有了这两个信息,就可以开始配置了:5 E2 q' t7 T2 M8 u% m
setsid ./tb_userspace tb [Server IPv4 address] > /dev/null
( Q/ B6 O, e3 y! t9 v6 rifconfig tb up) P  H! q- {1 {/ p
ifconfig tb inet6 add [你分配的IPv6地址]/64" i/ p7 V4 p$ R3 s* `
ifconfig tb mtu 14802 s7 V& }6 w9 W6 P
route -A inet6 add ::/0 dev tb# ^9 v( |" u8 a
例如:
; V9 U& N+ O2 K/ y8 R' wsetsid ./tb_userspace tb 216.66.22.2 > /dev/null
+ c  P: J' v1 A3 @$ Jifconfig tb up
. n& Y+ \+ ?' y$ rifconfig tb inet6 add 2001:470:8:4b9::1/647 ?6 X" @3 }& ~2 P, p1 G# s8 G0 P
ifconfig tb mtu 1480  S9 h; A( W4 i3 Z
: ^' r. t8 s) u/ m2 ^' y) e7 ^
Debian: route -A inet6 add ::/0 dev tb- w$ y* @+ t* R; p" s+ l% S( a$ Q/ h
Centos: ip -6 route add default dev tb
" p: E$ U0 K2 a. L5 \完成以上工作,你应该就获得IPv6了。
) l% @0 Z2 _/ V5 f3 kping一下ipv6.google.com测试一下,假如ping通,那么你的IPv6就拿到手拉。" j7 C7 w' H7 d3 B# F8 V1 N
chencp:~# ping6 ipv6.google.com
7 U& ^* F0 |4 k* d! T; MPING ipv6.google.com(iad04s01-in-x68.1e100.net) 56 data bytes3 O+ v$ Q2 D& Z  e, e4 A( g
64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=1 ttl=59 time=14.9  ms
) p7 j9 V% Y' D, P' ?: A9 I64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=2 ttl=59 time=15.8  ms
8 |0 c% x, O. W6 }, y0 e. S64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=3 ttl=59 time=15.2  ms
: C9 |0 J; L6 G- @# z$ V至于你后面用这些IP干什么,就不关我的事情拉。+ J8 t& Q+ m3 q0 q  K
假如以后还需要添加IP:
& W# ~, m8 Q) |4 o3 H) `1 Difconfig tb inet6 add [要添加的IP]/647 O+ ^( c9 _& [% \; F' Q

本帖子中包含更多资源

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

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-10-24 16:57 , Processed in 0.070075 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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