本文假设你已经会常用的SSH操作(新手推荐使用WinSCP)。
步骤:
1.注册免费的HE IPv6 Tunnel Broker
注册地址:http://tunnelbroker.net/,点击“Register”即可注册。
2. 添加Tunnel
点击左侧“Create Regular Tunnel”:
在“IPv4 endpoint”填入你VPS的IP地址,HE会根据你的浏览器的IP地址帮你选择服务器,但并不一定是最好的,你要根据你的VPS的地理位置,选择服务器的地址,我购买的是Los Angel的VPS,于是我选择了Los Angel, CA, US的服务器,点击“Override”可选择服务器。
再点击“Submit”,即可建立Tunnel。
4. VPS上的设置
回到HE IPv6 Tunnel Broker的首页,点击刚刚建立的Tunnel,会有这个Tunnel的详细信息:
可以看到,HE给你分配了/64的IPv6地址,也就是你有2的64次方个地址,这辈子都用不完,哈哈。在详细信息的下面,有一个设置你VPS的方法,点击“Show Config”就会出来设置方法:
modprobe ipv6
ip tunnel add he-ipv6 mode sit remote 66.220.18.42 local xxx.xxx.xxx.xxx ttl 255
ip link set he-ipv6 up
ip addr add 2001:470:c:662::2/64 dev he-ipv6
ip route add ::/0 dev he-ipv6
ip -f inet6 addr
he默认添加 ::2/64 地址 你也可以添加更多的地址,如要添加 2001:470:c:662::3/64 只需增加一行命令
ip addr add 2001:470:c:662::3/64 dev he-ipv6
5.服务器程序设置
(以下命令如果提示not command等等,请用 whereis 搜索命令所在文件夹)
I. Apache (如果你用的diaHosting的默认带Kloxo面板设置,那么服务器是Lighttpd,请在Kloxo面板中找到程序切换,将Lighttpd切换成Apache)
1.修改配置
默认装机的Apache版本已经支持ipv6,只需要修改httpd.conf文件即可
打开 /etc/httpd/conf/httpd.conf
查找 Listen 80;
在后面增加一句
Listen [::]:80;
相应地在文件末尾找到<virtualhost> 一节,
修改为<virtualhost *:80>
其余uncomment 并按照你的站点的配置修改即可。
2.测试配置
/usr/local/bin/apachectl -configtest
3.如果没有报错,重启apache即可
service httpd restart
II.nginx
1.运行 /usr/local/nginx/sbin/nginx -V 观察一下有没有 --with-ipv6, 一般是没有的,此时需要重新下载并编译nginx:
wget http://nginx.org/download/nginx-0.8.50.tar.gz
tar -xvzf nginx-0.8.50.tar.gz
cd nginx-0.8.50
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-ipv6
make && make install
2.修改nginx配置
进入/usr/local/nginx/conf/nginx.conf,搜索Listen 80; 在后面增加一句
Listen [::]:80 default ipv6only=yes;上面一句是我和kangzj教程最大的不同的地方,用kangzj的方法,在多站点配置中会导致问题。
如果你还有SSL server块,同样,搜索 Listen 443;在后面增加一句
Listen [::]:443 default ipv6only=yes;这样,SSL也可以运行在ipv6环境下了。
注意,如果你的VPS上设置了多个站点,请务必保证其余站点的Listen配置与之相同,最好不要改成 Listen ip:80; 形式,否则容易冲突,各站点如果不同IP请在DNS处调节。
3.停掉目前的nginx,启用新编译的nginx:
killall -g nginx参数g在你开启了nginx多进程时是必要的。
/usr/local/nginx/sbin/nginx
6.DNS设置
在你的域名DNS处增加AAAA Record即可,目前主流的DNS都已经支持ipv6(如he,DNSPod等)