|
|
默认情况下,VPS商不会给你在OpenVZ启用sit设备(因为需要重新编译内核等等),不用说burst.net这种大公司。没有sit设 备,openvz下除了teredo协议获得IPv6之外,还有一招。1 r N6 j) o# \2 \
使用tunnelbroker获得完整的/64甚至/48块的IPv6。2 b }% U; Y' x$ U( I1 p/ A! q! t
英文来自:http://code.google.com/p/tb-tun/wiki/HOWTO
! W) I- ~5 j# J3 x+ W我经过测试通过,可行的。. k4 p; W+ ]+ a
我把具体的过程写下,貌似还没有看到有人写过。 是俺们国人写的。仰慕一下,顺便研究研究代码。以下步骤在Burst.NET的 VPS跑着Debian5下测试通过,在VPSVilla.ca的CentOS系统的VPS上也测试通过。8 [' {, a. }; T, V
1. 开启TUN设备。这一步需要服务商来弄。在你发ticket给服务商之前,试试以下命令:% e8 n" ]9 R! k+ ^
mkdir -p /dev/net
! c- J8 Z S" J C. O- Fmknod /dev/net/tun c 10 200, V0 z- j$ [1 z7 E+ g0 t) o3 o8 t
chmod 600 /dev/net/tun
K" O" w" E3 b, L/ S3 J+ |然后运行' B1 f$ X2 v; ]" T, t, N+ B
cat /dev/net/tun& C" M$ f5 t Z' p) Q
假如提示:cat: /dev/net/tun: 文件描述符处于错误状态6 c: s, E' C- c* Q2 t6 _
那么应该就是可以使用了的。具体还是发个ticket吧。* I5 d. f5 R, q: m$ W7 t6 |
2. 下载tb-tun软件。mkdir tb& P0 H% \8 ?4 n4 V) v4 k. S
cd tb( u) c& |/ d- v9 v3 u
wget http://tb-tun.googlecode.com/files/tb-tun_r14.tar.gz2 q5 J9 W6 y, Q9 w% F
tar zxf tb-tun_r14.tar.gz2 W& I6 E. }1 z1 t" P5 A, t
3. 编译tb-tungcc tb_userspace.c -l pthread -o tb_userspace+ G& b8 q f3 s3 h0 k3 q* @
4. 创建Tunnelbroker.net账户这一步。我不多说了。到tunnelbroker.net注 册。需要到邮箱获取密码。: p+ R) z; o$ F# a6 L( O7 M
5. 建立IPv6隧道首先在tunnelbroker.net内,左边找到:Create Regular Tunnel7 Y' B" g) W, o5 g
进入后:. ^7 C* i0 {) c3 |/ j1 _) A5 w
; L- U- Y( l! S8 O5 |: I3 ?IPv4 Endpoint内填入你的VPS分配到的IP。
3 G/ E9 f! L7 S1 _: |然后在下面选择一个离你的服务器较近的Relay Server.
" v$ i- Q3 }6 N$ o ~/ W后面略过。假如你创建成功了,那么就会在Main Page里面的Tunnels里面看到你刚刚建立的Tunnel+ B$ Z$ O. E8 @
6. 绑定Tunnel这里才是重点。
1 X1 s0 V* \+ d+ F% ?找到你的tunnel,点进去,你应该看到这样的信息:
8 J6 o8 m) ~. Q+ `; i
; O% B6 H7 a O* t6 w' s6 m这里记录下重点信息:
7 a4 v9 {8 h n, D. R* VRouted /64就是你被分配的IPv6地址块。你可以从中任意添加IP。例如我这里IP块可以使用:
* w/ O7 x0 Y2 b- F) o2 S& u2001:470:8:4b9::1, c d7 U: _9 m- H/ v M
2001:470:8:4b9::2) D7 F) v; J" J; K" C9 Q
2001:470:8:4b9::3# ]) U0 ~9 D; k9 j* a3 B9 C6 ~
2001:470:8:4b9:29ad:2812:293a:cafe:1
+ I$ V( e9 f, Z" K7 I$ e- d% L# d等等等等。。(当然,要多少添加多少即可,取之不尽阿)
/ Y' ?; C/ ^/ H' \0 Z+ w还有一个重要的信息:/ h o& X! }/ S
Server IPv4 Address。这个是HE的服务器IP,作中转,后面用到。6 k* [5 d5 H# Q% e5 O0 s
有了这两个信息,就可以开始配置了:9 s% G6 r* c! b7 q! F
setsid ./tb_userspace tb [Server IPv4 address] > /dev/null
6 a4 a6 z5 V6 V5 E1 K+ b) Mifconfig tb up
5 M, E2 O3 \0 M0 lifconfig tb inet6 add [你分配的IPv6地址]/64
+ k* D$ q( T1 e! Q/ nifconfig tb mtu 14807 q8 K9 ~& c+ ?* D
route -A inet6 add ::/0 dev tb
5 A K& k4 r2 B6 n' }' a例如:
$ S& \7 q1 X: @' K! a5 lsetsid ./tb_userspace tb 216.66.22.2 > /dev/null
/ C% f6 W, a2 {* b1 L( v* Bifconfig tb up
" Q* T& [( h1 U: vifconfig tb inet6 add 2001:470:8:4b9::1/64
7 q( i9 J) H, E, Y {ifconfig tb mtu 1480' E v5 R+ N) r# N, N* K) v! u; _) Q
3 B1 ?) J* L6 i* {9 x+ L
Debian: route -A inet6 add ::/0 dev tb
( ^ N- T" ~8 f# d* tCentos: ip -6 route add default dev tb
* r* Z: \% c5 o" D$ A$ Z4 A% R完成以上工作,你应该就获得IPv6了。
' {$ h Z' `" f2 m. L- R0 L; cping一下ipv6.google.com测试一下,假如ping通,那么你的IPv6就拿到手拉。
1 Z$ X# r; E1 g+ B& u* \chencp:~# ping6 ipv6.google.com
: n0 ^: ?& \$ z! v# c# _PING ipv6.google.com(iad04s01-in-x68.1e100.net) 56 data bytes
) u: c( D$ s* _: A0 a. ^64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=1 ttl=59 time=14.9 ms
( n6 _/ \" K* I# w, T; k: Y9 A7 x- t64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=2 ttl=59 time=15.8 ms
* n% Q* Y. M: @64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=3 ttl=59 time=15.2 ms' ?2 y9 P# U) x0 {) v! D4 O) m1 @$ h
至于你后面用这些IP干什么,就不关我的事情拉。5 ]3 b2 s0 \# ]4 M9 t
假如以后还需要添加IP:! u4 Y1 U) ?: y. f6 @' M7 e
ifconfig tb inet6 add [要添加的IP]/64
' D0 Z# J X0 s |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|