找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 13412|回复: 2

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

[复制链接]
发表于 2013-4-20 16:09:57 | 显示全部楼层 |阅读模式
默认情况下,VPS商不会给你在OpenVZ启用sit设备(因为需要重新编译内核等等),不用说burst.net这种大公司。没有sit设 备,openvz下除了teredo协议获得IPv6之外,还有一招。( b) F( t+ d% {$ P- f( z& ^
使用tunnelbroker获得完整的/64甚至/48块的IPv6。
) ^6 @+ Y0 D" w+ U英文来自:http://code.google.com/p/tb-tun/wiki/HOWTO
7 P$ _3 F1 J& }( w1 f, s" b我经过测试通过,可行的。
2 \5 {( \* ?, R9 k我把具体的过程写下,貌似还没有看到有人写过。 是俺们国人写的。仰慕一下,顺便研究研究代码。以下步骤在Burst.NET的 VPS跑着Debian5下测试通过,在VPSVilla.ca的CentOS系统的VPS上也测试通过。
" i, d- e7 c2 ]; I1. 开启TUN设备。这一步需要服务商来弄。在你发ticket给服务商之前,试试以下命令:
6 a- }1 |5 w# t0 w9 Lmkdir -p /dev/net
. s/ y! `' b' k, c! imknod /dev/net/tun c 10 200
0 K" G# T6 k. @6 c7 }chmod 600 /dev/net/tun
: `2 O9 ~! y: K3 G; T然后运行+ V0 @7 H& U% X5 S; A! F
cat /dev/net/tun9 {* T( Z0 @3 P7 D" j
假如提示:cat: /dev/net/tun: 文件描述符处于错误状态
& _9 D2 Q+ r9 k" L那么应该就是可以使用了的。具体还是发个ticket吧。$ }1 X5 `* A4 Y' O0 r4 ~( v/ Y
2. 下载tb-tun软件。mkdir tb( M# }$ y$ U2 w5 b- F6 T
cd tb( H  B% c5 O: ]" c! m
wget http://tb-tun.googlecode.com/files/tb-tun_r14.tar.gz7 t; b: A2 n; y: E) Q
tar zxf tb-tun_r14.tar.gz% U; m" L5 ?3 _; K- X
3. 编译tb-tungcc tb_userspace.c -l pthread -o tb_userspace
/ W: O" ^* f! ~+ Q4. 创建Tunnelbroker.net账户这一步。我不多说了。到tunnelbroker.net注 册。需要到邮箱获取密码。. w: V3 ~2 T) u' k, y
5. 建立IPv6隧道首先在tunnelbroker.net内,左边找到:Create Regular Tunnel6 ^3 J, A. Z3 Q2 u/ i
进入后:
4 P: O5 W! C! W3 n" A( Y# W: T4 Z* i
IPv4 Endpoint内填入你的VPS分配到的IP6 y( u% T& l6 o
然后在下面选择一个离你的服务器较近的Relay Server.
4 u, S4 q2 Z  b+ m! a# Q后面略过。假如你创建成功了,那么就会在Main Page里面的Tunnels里面看到你刚刚建立的Tunnel
# y' m. Z1 c) L* g5 h0 t( g6. 绑定Tunnel这里才是重点。
( R; M8 Y( U) `- \! h找到你的tunnel,点进去,你应该看到这样的信息:: Y0 _0 {' S* P1 d- i6 g

2 R  C" W* `6 v/ Y  H这里记录下重点信息:
6 v% h2 B+ F& _Routed /64就是你被分配的IPv6地址块。你可以从中任意添加IP。例如我这里IP块可以使用:
  W7 o& C; n3 M7 T2001:470:8:4b9::1
3 [3 v0 i5 w8 r: I" E2001:470:8:4b9::2
  s- f4 H& {" X6 q0 S4 B3 J  ~2001:470:8:4b9::3
" O: y: i/ X0 B$ ?2001:470:8:4b9:29ad:2812:293a:cafe:1, w- l) I' {) _# w  G+ G$ C
等等等等。。(当然,要多少添加多少即可,取之不尽阿)
! v) C; M) J3 R" p还有一个重要的信息:
- @; S( Q9 r( e+ c; AServer IPv4 Address。这个是HE的服务器IP,作中转,后面用到。
0 o& t2 V3 ~9 t有了这两个信息,就可以开始配置了:7 P1 S( K$ v* d/ r6 b
setsid ./tb_userspace tb [Server IPv4 address] > /dev/null
5 e0 D0 H) @! Q! wifconfig tb up
$ {" B' Y5 n' \: [ifconfig tb inet6 add [你分配的IPv6地址]/64
1 D1 j& F+ ^* x7 J, eifconfig tb mtu 1480: t6 D$ F5 W% S) Y9 v/ `! V
route -A inet6 add ::/0 dev tb7 Y" Q7 I: I" U2 O4 Q8 z
例如:
* p: m( ~1 s* C$ bsetsid ./tb_userspace tb 216.66.22.2 > /dev/null
' ~; H6 |% R4 n0 E9 b5 wifconfig tb up8 w7 F* Z: @& ^) |: j3 `* o
ifconfig tb inet6 add 2001:470:8:4b9::1/64
% M4 @0 {# z2 B) p( lifconfig tb mtu 1480
, Y9 q" h6 t7 U$ x( {/ k# m* {) ?3 [5 {8 C2 u8 d1 C2 |6 M% e
Debian: route -A inet6 add ::/0 dev tb: A/ ~7 e6 o1 p4 e
Centos: ip -6 route add default dev tb' j4 X6 ~% o) I" f) [! A6 f
完成以上工作,你应该就获得IPv6了。
. S: D7 B# I: o  h" r9 Yping一下ipv6.google.com测试一下,假如ping通,那么你的IPv6就拿到手拉。. `' I! y+ ?8 m- L
chencp:~# ping6 ipv6.google.com1 C( A  |  F3 v, ^
PING ipv6.google.com(iad04s01-in-x68.1e100.net) 56 data bytes, r5 I' L  s, G( {
64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=1 ttl=59 time=14.9  ms! N* j/ }; E' S
64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=2 ttl=59 time=15.8  ms$ `- a# L5 ~" B
64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=3 ttl=59 time=15.2  ms
! w0 P6 I4 J; F4 `6 Y至于你后面用这些IP干什么,就不关我的事情拉。
  t5 }/ J2 ?2 E5 k0 ]9 |1 e& Z假如以后还需要添加IP:8 ]" T( V) G) \. g2 ?
ifconfig tb inet6 add [要添加的IP]/64' D/ V1 t6 @# [# g

本帖子中包含更多资源

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

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-7 01:30 , Processed in 0.074424 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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