
并不是所有 VPS 供应商都会给你配备 IPv6 地址,包括备受赞誉的 Linode 也是一样,这时候我们可以使用 he.net 提供的 Tunnel Broker 服务。进入 http://tunnelbroker.net/ 注册一个用户名,并且输入 vps 的 ip ,选择一个距离 vps 最近的接入节点,创建一个 Regular Tunnel,之后打开 Tunnel Detail 就可以看到给你分配的 IPv6 地址,以及 IPv6 网关和 IPv4 节点地址了。之后进行 vps 段设置,编辑 /etc/network/interfaces,加入如下内容:
auto hetunnel
iface hetunnel inet6 v4tunnel
address HESupplied-ClientIPv6address
netmask 64
ttl 64
gateway HESupplied-ServerIPv6address
endpoint HESupplied-ServerIPv4address
local localIPv4address
sudo /etc/init.d/networking restart 后,试试看 ping6 ipv6.google.com 吧:
gkp@gkplinode:~$ ping6 ipv6.google.com
PING ipv6.google.com(yu-in-x63.1e100.net) 56 data bytes
64 bytes from yu-in-x63.1e100.net: icmp_seq=1 ttl=56 time=49.2 ms
64 bytes from yu-in-x63.1e100.net: icmp_seq=2 ttl=56 time=49.2 ms
64 bytes from yu-in-x63.1e100.net: icmp_seq=3 ttl=56 time=49.2 ms
64 bytes from yu-in-x63.1e100.net: icmp_seq=4 ttl=56 time=49.4 ms
之后为域名加入 AAAA 解析记录,dig 看看效果:
[gkp@home] ~> dig img.gd aaaa
; <<>> DiG 9.6.2-P2 <<>> img.gd aaaa
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30063
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;img.gd. IN AAAA
;; ANSWER SECTION:
img.gd. 3600 IN AAAA 2001:470:1f0e:541::2
;; Query time: 612 msec
;; SERVER: 202.106.0.20#53(202.106.0.20)
;; WHEN: Wed Sep 22 18:58:26 2010
;; MSG SIZE rcvd: 52
接下来设置 apache,编辑 /etc/apache2/ports.conf,加入一行
Listen [::]:80
之后重新启动 apache 即可支持 IPv6 访问。
Nginx 的话,需要先 nginx –V 一下,看看编译时有没有加入 –with-ipv6 这个选项,有的话就可以直接编辑虚拟主机文件了,将 Listen 80 这行直接改成:
Listen [::]:80
即可,如果只想监听 IPv6 而不支持 IPv4 的话,可以用:
Listen [::]:80 default ipv6only=on;