|
|
默认情况下,VPS商不会给你在OpenVZ启用sit设备(因为需要重新编译内核等等),不用说burst.net这种大公司。没有sit设 备,openvz下除了teredo协议获得IPv6之外,还有一招。
5 d4 y+ h, k! i; I使用tunnelbroker获得完整的/64甚至/48块的IPv6。
$ S: M" j- @! v ?' \英文来自:http://code.google.com/p/tb-tun/wiki/HOWTO0 V+ U% q( O$ K" Q/ p' `8 i3 x
我经过测试通过,可行的。
0 e8 G, U: }2 \* k: Y* I我把具体的过程写下,貌似还没有看到有人写过。 是俺们国人写的。仰慕一下,顺便研究研究代码。以下步骤在Burst.NET的 VPS跑着Debian5下测试通过,在VPSVilla.ca的CentOS系统的VPS上也测试通过。$ I5 \! v4 p" l; j {: }
1. 开启TUN设备。这一步需要服务商来弄。在你发ticket给服务商之前,试试以下命令:: h# h) H6 m7 m4 I
mkdir -p /dev/net
, P5 a H) m" G- `0 B* P% }7 wmknod /dev/net/tun c 10 200
- ]; Q* V6 S. ichmod 600 /dev/net/tun
1 C; g7 r7 M* d$ r6 h3 e( W x然后运行$ W( W3 _; \' e+ h
cat /dev/net/tun1 p2 y2 d8 s' l" |, `
假如提示:cat: /dev/net/tun: 文件描述符处于错误状态1 d U# p6 Z1 a$ R
那么应该就是可以使用了的。具体还是发个ticket吧。0 y$ v1 a7 n- [. y& ?$ ~ k V6 X
2. 下载tb-tun软件。mkdir tb
5 T. G" N( Y8 Fcd tb# S8 }3 e' X4 g# U% D4 }
wget http://tb-tun.googlecode.com/files/tb-tun_r14.tar.gz
. H% U8 L7 K$ D8 vtar zxf tb-tun_r14.tar.gz# c8 h4 ^7 E7 Y
3. 编译tb-tungcc tb_userspace.c -l pthread -o tb_userspace
) l. t! E- R5 M. Q# n' c) c4. 创建Tunnelbroker.net账户这一步。我不多说了。到tunnelbroker.net注 册。需要到邮箱获取密码。
9 R: ]4 |% p* ^) ]5. 建立IPv6隧道首先在tunnelbroker.net内,左边找到:Create Regular Tunnel
! }: G4 o6 m% P/ b' K. ~8 B进入后:
) m/ S: E: L0 h' K
$ y& M" M6 i, YIPv4 Endpoint内填入你的VPS分配到的IP。: d- E/ e) M! e$ E- l% Y' x
然后在下面选择一个离你的服务器较近的Relay Server.0 w& K$ b4 s& Q) D7 Y2 W
后面略过。假如你创建成功了,那么就会在Main Page里面的Tunnels里面看到你刚刚建立的Tunnel, B/ O$ {; |$ o4 L0 W, D* ]. O7 d& P
6. 绑定Tunnel这里才是重点。/ A7 ^% u& D- A v! q: K
找到你的tunnel,点进去,你应该看到这样的信息:
# V* t. X% H" l$ k# R4 ?
, j" f! p: J5 r7 G. p这里记录下重点信息:2 A: b0 N3 \" ^3 x( h. ?4 E d# f
Routed /64就是你被分配的IPv6地址块。你可以从中任意添加IP。例如我这里IP块可以使用: S" F) Z' f6 b8 H: ]$ a/ r& ` E- a$ a
2001:470:8:4b9::1
4 ]: w$ T- Y, u5 ^% y6 W0 H4 _2001:470:8:4b9::2
! g e) o! j& L7 E8 Q* }2001:470:8:4b9::3
0 h! ^) K- Y9 q1 U1 E2 w) W2001:470:8:4b9:29ad:2812:293a:cafe:1
6 r: k8 V7 j- _# M等等等等。。(当然,要多少添加多少即可,取之不尽阿)4 { G- n0 \: a: W8 r
还有一个重要的信息:+ B" O" q1 P, a/ i
Server IPv4 Address。这个是HE的服务器IP,作中转,后面用到。
# p+ q/ O8 @6 g1 f e$ O有了这两个信息,就可以开始配置了:6 _ U# b4 V+ E; T* ^- Z) y, G3 v1 S
setsid ./tb_userspace tb [Server IPv4 address] > /dev/null5 A* ?) a1 T; v& t1 m% q. I# p
ifconfig tb up' S' q: t. I# M* w
ifconfig tb inet6 add [你分配的IPv6地址]/64& Q- ^3 `4 o) k+ J" }! G6 J6 B
ifconfig tb mtu 1480
" |# C3 B3 `; O \4 \route -A inet6 add ::/0 dev tb
' o1 y1 {' v+ j7 l例如:: Q7 m7 g6 U+ H7 a: D: f/ Y
setsid ./tb_userspace tb 216.66.22.2 > /dev/null$ _, O. `, i1 E( ?; H: [) B$ y
ifconfig tb up3 U" E F8 i+ c. G9 z* O! F' b' w6 K
ifconfig tb inet6 add 2001:470:8:4b9::1/64% i' a2 z! e4 J2 c/ @1 v! r B1 ^
ifconfig tb mtu 14801 n y( S5 A8 P- T$ k: e7 d3 o7 L
2 {/ S. c6 ?4 gDebian: route -A inet6 add ::/0 dev tb
* Y, }: [. [/ eCentos: ip -6 route add default dev tb9 H, N0 S O- G* |& Z! ~- [$ L, A
完成以上工作,你应该就获得IPv6了。
T# ?8 H& D, O- J; R3 Q qping一下ipv6.google.com测试一下,假如ping通,那么你的IPv6就拿到手拉。
" O' E# A( d/ e. c% Rchencp:~# ping6 ipv6.google.com- t- ^8 Y9 e: B4 w8 F
PING ipv6.google.com(iad04s01-in-x68.1e100.net) 56 data bytes, c& ]$ H, Q, {1 P6 W
64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=1 ttl=59 time=14.9 ms# |, t ?; _ l9 N0 e
64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=2 ttl=59 time=15.8 ms
/ K7 l0 O, z5 @64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=3 ttl=59 time=15.2 ms% |, P- I ]+ | Q, b7 D# `( A
至于你后面用这些IP干什么,就不关我的事情拉。9 e8 N" ]/ W; [1 O3 W q9 q
假如以后还需要添加IP:+ D5 u+ J: J* J8 L9 U, W8 w0 H
ifconfig tb inet6 add [要添加的IP]/64
8 S- U8 Z$ }0 O+ _: L |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|