80后的细娃儿

DiaHostingVPS配置ipv6隧道笔记

 

本文主要参考了kangzj的《你的网站“IPv6 Ready”了吗?
》一文,在他提供的步骤上做了一点改进,在diaHosting的VPS上试验成功。
本文假设你已经会常用的SSH操作(新手推荐使用WinSCP)。

步骤:

1.注册免费的HE IPv6 Tunnel Broker

注册地址:http://tunnelbroker.net/
,点击“Register”即可注册。

2. 添加Tunnel

点击左侧“Create Regular Tunnel”:
《DiaHostingVPS配置ipv6隧道笔记》
在“IPv4 endpoint”填入你VPS的IP地址,HE会根据你的浏览器的IP地址帮你选择服务器,但并不一定是最好的,你要根据你的VPS的地理位置
,选择服务器的地址,我购买的是Los Angel的VPS,于是我选择了Los Angel, CA, US的服务器,点击“Override”可选择服务器。
《DiaHostingVPS配置ipv6隧道笔记》
再点击“Submit”,即可建立Tunnel。

4. VPS上的设置

回到HE IPv6 Tunnel Broker的首页,点击刚刚建立的Tunnel,会有这个Tunnel的详细信息:
《DiaHostingVPS配置ipv6隧道笔记》
可以看到,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=on;

上面一句是我和kangzj教程最大的不同的地方,用kangzj的方法,在多站点配置中会导致问题。

如果你还有SSL server块,同样,搜索 Listen 443;
在后面增加一句,注意ipv6only=on中不能加空格

Listen [::]:443 default ipv6only=on;

这样,SSL也可以运行在ipv6环境下了。

注意,如果你的VPS上设置了多个站点,请务必保证其余站点的Listen配置与之相同,最好不要改成 Listen ip:80; 形式,否则容易冲突,各站点如果不同IP请在DNS处调节。

3.停掉目前的nginx,启用新编译的nginx:

killall -g nginx
/usr/local/nginx/sbin/nginx

参数g在你开启了nginx多进程时是必要的。

6.DNS设置

在你的域名DNS处增加AAAA Record即可,目前主流的DNS都已经支持ipv6(如he,DNSPod等)

DiaHostingVPS配置ipv6隧道笔记

点赞