|
|
默认情况下,VPS商不会给你在OpenVZ启用sit设备(因为需要重新编译内核等等),不用说burst.net这种大公司。没有sit设 备,openvz下除了teredo协议获得IPv6之外,还有一招。
3 g: h" T. P1 w' {# I3 Q* @; r9 x w( f使用tunnelbroker获得完整的/64甚至/48块的IPv6。
; q5 i. d3 R$ N3 y英文来自:http://code.google.com/p/tb-tun/wiki/HOWTO) e: i P& ]3 D8 W S9 d# [
我经过测试通过,可行的。
# Z! a, L+ W0 p我把具体的过程写下,貌似还没有看到有人写过。 是俺们国人写的。仰慕一下,顺便研究研究代码。以下步骤在Burst.NET的 VPS跑着Debian5下测试通过,在VPSVilla.ca的CentOS系统的VPS上也测试通过。- s7 S' b' }" ?, h! ?7 l
1. 开启TUN设备。这一步需要服务商来弄。在你发ticket给服务商之前,试试以下命令:
" p# V: h% h& Kmkdir -p /dev/net: O) c/ P( E3 E8 s7 s3 C
mknod /dev/net/tun c 10 200
' b% [4 @3 z7 c' q; _chmod 600 /dev/net/tun
* j6 f% n& _8 L" c/ L然后运行9 m! V3 p6 o0 ^1 ^: d0 i
cat /dev/net/tun2 F/ \$ t1 z& Z& }
假如提示:cat: /dev/net/tun: 文件描述符处于错误状态, Q( z% V- Z* [7 @
那么应该就是可以使用了的。具体还是发个ticket吧。
, l) a7 v$ h w4 ?5 ]2. 下载tb-tun软件。mkdir tb% a) Z& f; u# B1 R& m8 n+ ]
cd tb) v. a) q. K/ S N' H* _+ e3 x9 c
wget http://tb-tun.googlecode.com/files/tb-tun_r14.tar.gz
: W- u7 R5 @) _8 X# g5 {tar zxf tb-tun_r14.tar.gz: [4 A% |& W% ~$ t% v9 o8 j
3. 编译tb-tungcc tb_userspace.c -l pthread -o tb_userspace( d/ D: A5 r1 K% H, S
4. 创建Tunnelbroker.net账户这一步。我不多说了。到tunnelbroker.net注 册。需要到邮箱获取密码。
/ {) e: u4 c: q, d5. 建立IPv6隧道首先在tunnelbroker.net内,左边找到:Create Regular Tunnel% V, ~$ A" Y* l& v& N
进入后:" P7 u) \ ?0 V" }( ~% n6 l
9 l* h* w+ L+ {) u
IPv4 Endpoint内填入你的VPS分配到的IP。8 R5 ?% I! |3 @7 l7 U4 @
然后在下面选择一个离你的服务器较近的Relay Server.3 G; D" k" W4 k' R/ i
后面略过。假如你创建成功了,那么就会在Main Page里面的Tunnels里面看到你刚刚建立的Tunnel" W" Q+ R" r2 z e: n
6. 绑定Tunnel这里才是重点。/ l" t9 `1 [* r/ M- S; Y! g
找到你的tunnel,点进去,你应该看到这样的信息:
5 J7 b- ?- I w3 D7 Z. S: s: j7 x; O" A# {+ b* L; ? F
这里记录下重点信息:
0 k a0 D2 J# y3 V V) GRouted /64就是你被分配的IPv6地址块。你可以从中任意添加IP。例如我这里IP块可以使用:
& G" p& U. m8 D( W9 G! `2001:470:8:4b9::17 e9 d' j/ j4 w- z0 L
2001:470:8:4b9::2
5 F) d: Y) G/ F) L+ Z; v: x; Q2001:470:8:4b9::3
+ Y5 U: Q6 A+ k4 M2001:470:8:4b9:29ad:2812:293a:cafe:1
! Z2 l: z2 X! }9 D% b! I, C& Z等等等等。。(当然,要多少添加多少即可,取之不尽阿)
3 c4 d" J9 c- P3 _; D( i7 u还有一个重要的信息: x# a* D3 B+ `" W% y/ y+ ^
Server IPv4 Address。这个是HE的服务器IP,作中转,后面用到。
# y. e! p4 h' T, N有了这两个信息,就可以开始配置了:$ ^: r) i# A+ }% d% I- K5 V
setsid ./tb_userspace tb [Server IPv4 address] > /dev/null# |3 U' f+ E; d' U8 r
ifconfig tb up5 I* W4 S1 v0 C& Q/ q% {' A, L8 [
ifconfig tb inet6 add [你分配的IPv6地址]/64
! ]) P+ `2 @# `6 Y! nifconfig tb mtu 1480; y1 j! M0 c, f9 z+ ~% R8 ?
route -A inet6 add ::/0 dev tb1 B1 Y6 ?+ a6 e& ?1 m2 z! ^6 {
例如:
( ^0 z, G: D1 Rsetsid ./tb_userspace tb 216.66.22.2 > /dev/null
8 X& ?0 W& l( U M8 ~) e5 hifconfig tb up
, O7 J& L; k9 M! R9 ~; S7 f6 xifconfig tb inet6 add 2001:470:8:4b9::1/64
0 p+ h+ j h( R0 Y( j3 Cifconfig tb mtu 1480
8 a- g" ~7 l) N1 |+ a( F/ @2 G
7 ^6 ^# G4 u/ a/ ]. G# NDebian: route -A inet6 add ::/0 dev tb9 a9 C1 D! N0 l3 j" F
Centos: ip -6 route add default dev tb
& U5 P1 J- x+ G6 {: d, U, z5 _完成以上工作,你应该就获得IPv6了。
% Y. x3 v/ o% U& K0 Gping一下ipv6.google.com测试一下,假如ping通,那么你的IPv6就拿到手拉。
* q+ D4 p3 n6 u/ W/ @; Qchencp:~# ping6 ipv6.google.com; R }6 \) u1 G
PING ipv6.google.com(iad04s01-in-x68.1e100.net) 56 data bytes
" m' I& I9 H+ p" s8 J: }6 T6 b+ T64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=1 ttl=59 time=14.9 ms' ?1 _+ ?9 }% o4 ]! ?0 D# K+ C
64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=2 ttl=59 time=15.8 ms
# a! y* I, O5 v6 x64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=3 ttl=59 time=15.2 ms- ]: `# E6 m+ B- w! Z ^
至于你后面用这些IP干什么,就不关我的事情拉。6 j2 J5 A3 ]( M- c3 b; x n
假如以后还需要添加IP:
9 z1 U) H" O' h" {7 ]: ~* `* Iifconfig tb inet6 add [要添加的IP]/641 ~6 u5 T9 S4 Q" a4 Z
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|