找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 12025|回复: 2

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

[复制链接]
发表于 2013-4-20 16:09:57 | 显示全部楼层 |阅读模式
默认情况下,VPS商不会给你在OpenVZ启用sit设备(因为需要重新编译内核等等),不用说burst.net这种大公司。没有sit设 备,openvz下除了teredo协议获得IPv6之外,还有一招。
$ F! D" ]2 }6 n. C5 L$ v3 m使用tunnelbroker获得完整的/64甚至/48块的IPv6。
. A2 j" S4 i+ A, D1 ?$ W6 h英文来自:http://code.google.com/p/tb-tun/wiki/HOWTO
8 H( S1 B1 }: k0 A5 [我经过测试通过,可行的。! s3 s6 b* [! {; p& _( U: X
我把具体的过程写下,貌似还没有看到有人写过。 是俺们国人写的。仰慕一下,顺便研究研究代码。以下步骤在Burst.NET的 VPS跑着Debian5下测试通过,在VPSVilla.ca的CentOS系统的VPS上也测试通过。3 q) e7 T; F; X7 v7 L* V
1. 开启TUN设备。这一步需要服务商来弄。在你发ticket给服务商之前,试试以下命令:
" T2 {$ q6 _% c2 m: E7 i* Lmkdir -p /dev/net
3 F0 r# E# K4 q( S7 n+ y/ Amknod /dev/net/tun c 10 200
% m- W( v9 {  @chmod 600 /dev/net/tun
% q" @, S2 a' l. ^然后运行
7 X$ H1 Z7 p& x* \# c. e/ Tcat /dev/net/tun1 Q# N6 q; P( H
假如提示:cat: /dev/net/tun: 文件描述符处于错误状态8 w/ E" n" f1 o7 ~9 o" s
那么应该就是可以使用了的。具体还是发个ticket吧。
( s- p) ^: [- X  ^) X2. 下载tb-tun软件。mkdir tb1 K% R! {/ K* G3 h! g. ?1 x
cd tb
2 N4 G/ g0 u) b' f8 \9 ^% V0 Nwget http://tb-tun.googlecode.com/files/tb-tun_r14.tar.gz6 H: b$ n8 k) ?; m' q. m# e
tar zxf tb-tun_r14.tar.gz) X5 K9 L/ M( c5 H- z8 ~
3. 编译tb-tungcc tb_userspace.c -l pthread -o tb_userspace
! y# X+ n! C5 h4 w4 U$ z4. 创建Tunnelbroker.net账户这一步。我不多说了。到tunnelbroker.net注 册。需要到邮箱获取密码。/ s# J: r8 Z# ]$ U) J
5. 建立IPv6隧道首先在tunnelbroker.net内,左边找到:Create Regular Tunnel$ A& q- L8 x4 h: M& R1 q, h
进入后:& D  R# l" H5 ~! Q  ?

6 m2 u$ N6 x2 _. W, sIPv4 Endpoint内填入你的VPS分配到的IP; V. |5 S2 W! [7 {
然后在下面选择一个离你的服务器较近的Relay Server.
- B* u( Z, I# a0 O  @后面略过。假如你创建成功了,那么就会在Main Page里面的Tunnels里面看到你刚刚建立的Tunnel# }/ w: x, Q0 |1 ^0 S5 k
6. 绑定Tunnel这里才是重点。% b9 S$ s9 e3 z9 |; l# e) k
找到你的tunnel,点进去,你应该看到这样的信息:
: c$ m" |8 F+ e! S" h3 i* {, y1 |. O! r5 ]2 \5 c/ r
这里记录下重点信息:( K6 X+ I% J; _+ \" @; D
Routed /64就是你被分配的IPv6地址块。你可以从中任意添加IP。例如我这里IP块可以使用:# P5 [, y7 j2 ]9 t$ j
2001:470:8:4b9::1
$ o: d6 o1 x" g( a, f2001:470:8:4b9::2
0 L8 }; n5 o1 s2001:470:8:4b9::3; e0 t7 v6 X  s' Z
2001:470:8:4b9:29ad:2812:293a:cafe:1
% ]5 P1 i: Y  {. h7 a+ E$ u等等等等。。(当然,要多少添加多少即可,取之不尽阿)
: y+ c7 V' \( |. Y还有一个重要的信息:
4 }$ |$ D  `" A; B  H6 H- UServer IPv4 Address。这个是HE的服务器IP,作中转,后面用到。
% l% ^! `, `9 _3 o; x9 f有了这两个信息,就可以开始配置了:
0 y# F" s, k1 q$ Z+ p, h3 o" d. Y( E6 ssetsid ./tb_userspace tb [Server IPv4 address] > /dev/null4 A$ a: C; R7 ~  _
ifconfig tb up
0 W2 l* G% f' uifconfig tb inet6 add [你分配的IPv6地址]/64$ A) }% Z- h, x8 O+ V+ n' C
ifconfig tb mtu 1480+ J' ^% A: t# b
route -A inet6 add ::/0 dev tb7 G0 ^; @9 W) |) a; I: ?
例如:
% G( R+ \. B( {( w9 xsetsid ./tb_userspace tb 216.66.22.2 > /dev/null
1 _1 N7 w' m3 xifconfig tb up+ `% o  Z. m" y  f3 l1 N! `
ifconfig tb inet6 add 2001:470:8:4b9::1/64
% Q  N( w- s! Q9 ~, f. r) fifconfig tb mtu 14806 a) @- d! w* s) u+ z

6 U, c& M4 o/ u7 z3 f& jDebian: route -A inet6 add ::/0 dev tb' v' V8 h5 y- i% D
Centos: ip -6 route add default dev tb
+ }! a3 t4 f3 w2 u4 V完成以上工作,你应该就获得IPv6了。
- c$ @  i* ?3 j6 S) ?+ Hping一下ipv6.google.com测试一下,假如ping通,那么你的IPv6就拿到手拉。% v- w& K. O) g1 z
chencp:~# ping6 ipv6.google.com4 M% _& w7 a; C; ]8 l  f' H
PING ipv6.google.com(iad04s01-in-x68.1e100.net) 56 data bytes
; X9 l6 {6 O, h0 K64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=1 ttl=59 time=14.9  ms; u! w  [  o9 @" V8 S
64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=2 ttl=59 time=15.8  ms
1 ~; S$ U. Y3 Q9 ?64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=3 ttl=59 time=15.2  ms
% D) m; P: l3 V) o+ t0 c5 a至于你后面用这些IP干什么,就不关我的事情拉。9 H2 U5 M; D1 }7 s. s2 N6 |% t
假如以后还需要添加IP:
" \) V. [9 z; i3 Aifconfig tb inet6 add [要添加的IP]/64% ^7 K* @" \. Y: e2 F1 |

本帖子中包含更多资源

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

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-17 04:53 , Processed in 0.044559 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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