DiaHostingVPS配置ipv6隧道笔记

2,527次阅读
没有评论

 

本文主要参考了 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 隧道笔记

正文完
 0
评论(没有评论)
验证码