|
|
默认情况下,VPS商不会给你在OpenVZ启用sit设备(因为需要重新编译内核等等),不用说burst.net这种大公司。没有sit设 备,openvz下除了teredo协议获得IPv6之外,还有一招。
# n7 @/ {5 c; Y K9 \# c使用tunnelbroker获得完整的/64甚至/48块的IPv6。
, B" R" d' j0 S, A0 ^1 q3 H( ~: L英文来自:http://code.google.com/p/tb-tun/wiki/HOWTO! L& V' d$ P. D$ F( j5 c0 l# a9 F
我经过测试通过,可行的。
7 H! Y3 W" y9 o$ y* A我把具体的过程写下,貌似还没有看到有人写过。 是俺们国人写的。仰慕一下,顺便研究研究代码。以下步骤在Burst.NET的 VPS跑着Debian5下测试通过,在VPSVilla.ca的CentOS系统的VPS上也测试通过。
( ^5 D5 p- Q" F1 B- \0 d+ M1. 开启TUN设备。这一步需要服务商来弄。在你发ticket给服务商之前,试试以下命令:
$ y3 P+ k1 v5 A( ?mkdir -p /dev/net% \6 a& J& @ @+ f( u- Q+ X% g8 W6 n
mknod /dev/net/tun c 10 200" G+ J1 A$ h6 {- ]: ]3 S, M
chmod 600 /dev/net/tun) D$ W. U& D& f7 I$ ~
然后运行
. g: V6 Z4 D' B) r$ e* }cat /dev/net/tun7 E% ]& d, J3 E0 t
假如提示:cat: /dev/net/tun: 文件描述符处于错误状态
) \1 ]& g1 f: i2 K" N0 g# h那么应该就是可以使用了的。具体还是发个ticket吧。. I' T: }+ {, ~* m# n! K2 `3 C4 \
2. 下载tb-tun软件。mkdir tb" y! X6 M: [$ f8 X9 p
cd tb1 @2 r2 j- }2 M! u1 I3 N, g
wget http://tb-tun.googlecode.com/files/tb-tun_r14.tar.gz' f$ [4 d& g3 d+ D( s- b& e+ A
tar zxf tb-tun_r14.tar.gz
( U! I; b" a6 J" u5 w7 Y. o/ z3. 编译tb-tungcc tb_userspace.c -l pthread -o tb_userspace- E F2 g' \) Q* O6 i2 T
4. 创建Tunnelbroker.net账户这一步。我不多说了。到tunnelbroker.net注 册。需要到邮箱获取密码。 N, @2 `* b2 i3 U i- \
5. 建立IPv6隧道首先在tunnelbroker.net内,左边找到:Create Regular Tunnel X, w) S" L9 ]3 F
进入后:1 Q# l9 }3 R, b
- L9 W0 c7 H/ QIPv4 Endpoint内填入你的VPS分配到的IP。: D9 Y( w3 n4 Z* c5 f2 K6 q4 P
然后在下面选择一个离你的服务器较近的Relay Server.; @ C$ ^3 ]. h) K, ^" ^
后面略过。假如你创建成功了,那么就会在Main Page里面的Tunnels里面看到你刚刚建立的Tunnel4 l* V! i; R: {3 E
6. 绑定Tunnel这里才是重点。
! q/ M0 p/ v( ]* [找到你的tunnel,点进去,你应该看到这样的信息:( }5 }0 Q6 K2 c4 r% [0 U) ~/ `
/ Y: y' V; G: w
这里记录下重点信息:6 ~1 k3 f( `" E
Routed /64就是你被分配的IPv6地址块。你可以从中任意添加IP。例如我这里IP块可以使用:# y) h% }! R% S2 f7 H3 a- o+ q5 {
2001:470:8:4b9::1+ \% E4 |1 |- |8 E' a" H
2001:470:8:4b9::25 r" h+ M1 w3 L7 U& G6 p
2001:470:8:4b9::31 H: K' ` |) p( q
2001:470:8:4b9:29ad:2812:293a:cafe:1 C8 D% ?1 ~1 M: ^( z6 a$ O
等等等等。。(当然,要多少添加多少即可,取之不尽阿)
' n+ R$ o/ k9 ?; a还有一个重要的信息:; F; }" V! u+ S% S
Server IPv4 Address。这个是HE的服务器IP,作中转,后面用到。0 X+ x& U( C6 q" _" h
有了这两个信息,就可以开始配置了:
3 t' @+ f6 T( hsetsid ./tb_userspace tb [Server IPv4 address] > /dev/null" W9 G' q# U5 U- S& T% l
ifconfig tb up
[6 A; ?/ `) T7 rifconfig tb inet6 add [你分配的IPv6地址]/64
8 Z8 e; Q3 V* {9 hifconfig tb mtu 1480' N% Y' S0 \1 m. |4 L% x6 ^+ V$ f2 O E% e/ r
route -A inet6 add ::/0 dev tb" ?' Z& r; W& Q. x% p: n
例如:' i* o' S5 I7 q! F, l" k* k9 K* N/ Y
setsid ./tb_userspace tb 216.66.22.2 > /dev/null5 K6 Z t; l1 }
ifconfig tb up7 y/ h6 O! d0 q' ]- O# _3 h$ ?$ P
ifconfig tb inet6 add 2001:470:8:4b9::1/64! k: n4 M: q) K7 m# [
ifconfig tb mtu 14805 l3 G6 P/ t- \( J, ~) D4 `
4 x9 m; W& ~; d+ c
Debian: route -A inet6 add ::/0 dev tb
T- k5 A# W# p& \4 v) uCentos: ip -6 route add default dev tb. A8 b6 J9 V [4 z4 d& p) f4 i4 R
完成以上工作,你应该就获得IPv6了。
Y' D. H6 `/ t* \/ O% Fping一下ipv6.google.com测试一下,假如ping通,那么你的IPv6就拿到手拉。" l$ z, j# N2 B7 {( s; v
chencp:~# ping6 ipv6.google.com, b; h/ K+ P/ @4 f$ `4 Y
PING ipv6.google.com(iad04s01-in-x68.1e100.net) 56 data bytes* W& ~; D/ p J F( k
64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=1 ttl=59 time=14.9 ms9 K9 Z- R+ E4 t( g
64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=2 ttl=59 time=15.8 ms
1 }+ `6 ^2 E4 K4 }6 u& X/ W( a7 U0 D64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=3 ttl=59 time=15.2 ms9 d% s! Q; v0 s# d/ T( q- z
至于你后面用这些IP干什么,就不关我的事情拉。
% p' U5 K1 i0 [$ d假如以后还需要添加IP:
' n- K( D$ O; Y* G/ \ifconfig tb inet6 add [要添加的IP]/64% w- O6 U! u% C7 A9 z
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|