VPS主机免费开启IPv6地址-绑定IPv6地址让Nginx和Apache支持IPv6

购买VPS主机一般来说会免费送一个IPv4地址(部分NAT VPS为共享IP,购买后会给你一个URL地址,例如CloudIPLC和Uovz VPS),也有部分VPS主机商(例如LinodeDigitalOcean)会赠送一个IPv6,并且VPS创建成功后会自动启用IPv6地址。

但是大部分VPS主机商还是没有提供IPv6地址,主要还是因为IPv6现在普及度不高,且IPv6的用户也可以使用IPv4,如果没有特别需要(据说IPv6网络很“畅通”),IPv4用于建站访问都是没有问题的。前一段时间有其云否主机的客户想要使用IPv6。

对于VPS主机没有配备IPv6地址,我们可以利用Tunnel broker (He.net旗下)给VPS主机免费开通IPv6地址访问,同时如果你想让你的Nginx或者Apache支持IPv6用户访问,只需要调整一下Nginx和Apache的配置文件即可。

VPS主机免费开启IPv6地址-绑定IPv6地址让Nginx和Apache支持IPv6

更多的关于VPS主机网络优化加速的方法有:

  1. 网站优化加速-开启TLSV1.3和Brotli压缩-Oneinstack,LNMP,宝塔面板
  2. VPS主机和独立服务器网络配置方法-Linux手动设置IPv4和IPv6地址
  3. VPS主机加速方法 – 一键安装加速模块 从“软件”上提升VPS主机速度

一、开启VPS对IPv6的支持

检查文件 /etc/modprobe.d/disable_ipv6.conf ,开启IPv6。

alias net-pf-10 off
options ipv6 disable=0

打开  /etc/sysconfig/network,添加如下:

NETWORKING_IPV6=yes

编辑网卡配置:/etc/sysconfig/network-scripts/ifcfg-eth0(有也可能是ifcfg-eth1),开启IPv6支持。

IPV6INIT=yes
IPV6_AUTOCONF=yes

打开:/etc/sysctl.conf ,开启IPv6支持(没有就添加,有的话要保证是0)。

net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0

执行命令:ifconfig | grep -i inet6,看到有输出就表示你的VPS主机支持IPv6了。

二、申请免费的IPv6地址

网站:

  1. https://www.tunnelbroker.net

Tunnel broker 为He.net旗下的产品,提供免费的IPv6地址和隧道,你可以利用它在自己的VPS主机上绑定一个新的IPv6地址。注册一个TunnelBroker账号,然后选择“Creat Regular Tunnel”。

绑定IPv6地址新建

根据需要选择访问速度最快的服务器,你只需要填写你自己的VPS的公网IP,点击最下方的“Creat Tunnel”就完成了。

绑定IPv6地址选择服务器

在Tunnel的详情界面,可以看到申请到的IPv6的详细信息。

绑定IPv6地址申请到地址

有几点要用到的信息说明如下:

Server IPv4 Address 服务端IPv4地址(用于通过IPv4连接隧道)

Server IPv6 Address 服务端IPv6地址(用于IPv6网关地址)

Client IPv4 Address 本地IPv4地址(用于让服务器允许连接)

Client IPv6 Address 本地IPv6地址(作为本地IPv6地址使用)

三、VPS手动绑定IPv6地址

3.1  绑定IPv6

在Tunnel页面有一个选项卡为Example Configuration,这里有Tunnel broker自动生成的配置命令,对于CentOS、Ubuntu和Debian可以选择linux-route2Linux-net-tools。

绑定IPv6地址选择代码

然后直接复制命令在自己的VPS主机上运行。如下图:

绑定IPv6地址直接执行

执行ifconfig命令可以查看到IPv6地址已经添加成功了。

绑定IPv6地址添加成功

3.2  重启后仍有效

按照上面的命令绑定好了IPv6后,如果你重启服务器后就会丢失。一种方法是重启服务器再次运行该命令,当然我们可以利用Linux重启后自动执行脚本的功能,命令如下:

vim /mycmd/getipv6.sh
#添加以下内容(替换你自己的)
ifconfig sit0 up
ifconfig sit0 inet6 tunnel ::66.220.18.42
ifconfig sit1 up
ifconfig sit1 inet6 add 2001:470:c:98a::2/64
route -A inet6 add ::/0 dev sit1
#添加可执行权限
chmod +x /mycmd/getipv6.sh 
#编辑rc.local
vim /etc/rc.d/rc.local 
#在最后一行加入
sh /mycmd/getipv6.sh

另一种方法就是手动将IPv6地址绑定到已有了网卡中,命令如下:

#启用IPv6和设置默认设备为sit1
vim /etc/sysconfig/network 

#添加以下内容
NETWORKING_IPV6=yes
IPV6_DEFAULTDEV="sit1"

#设定IPv6网关地址
cd /etc/sysconfig/network-scripts
ls

#编辑现有的网卡配置文件(如网卡为eth0,则编辑ifcfg-eth0),加入(或修改为)以下内容
IPV6ADDR=服务端IPv6地址

#在/etc/sysconfig/network-scripts文件夹内,新建文件ifcfg-sit1并编辑,写入以下内容:
DEVICE=sit1
ONBOOT=yes
BOOTPROTO=none
IPV6INIT=yes
IPv6TUNNELIPV4=服务端IPv4地址
IPV6TUNNELIPV4LOCAL=本地IPv4地址
IPV6ADDR=本地IPV6地址

最后一步要特别注意,若本地IPv4地址为内网地址(如腾讯云),请在此处配置文件里面应填写内网地址,不要直接写公网地址。配置文件写完后,执行service network restart重启网络服务,此时Tunnel应能够正常工作,且重启后不会丢配置。

四、Nginx和Apache支持IPv6

4.1  Nginx IPv6

找到你的Nginx网站配置文件,添加IPv6监听,然后重启Nginx就可以了。代码如下:

{
    listen 80;
    listen [::]:80; #或者 listen [::]:80 ipv6only=on;
    # listen [::]:80 default ipv6only=on; 只监听IPV6
    # listen [3608:f0f0:3002:31::1]:80;监听指定IPV6地址
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name wzfou.com www.wzfou.com;
    ……

4.2  Apache IPv6

找到httpd.conf配置,修改成这样:

Listen 123.256.48.99:80
Listen [2400:6180:0:d0::1f33:d001]:80
#或者
Listen 0.0.0.0:80
Listen [::]:80

4.3  设置好AAAA记录解析

配置好了,现在你只需要到你的DNS处添加一个新的AAAA记录,记录值就是你的IPv6地址,这样IPv6用户就可以访问到你的Web服务器了。

绑定IPv6地址AAAA解析

AAAA记录可以和A记录并存,实现双栈访问,但不能与CNAME并存。各大DNS解析服务基本上都支持AAAA记录,如果你的没有,请在这里找一个更好的:国内外免费DNS域名解析服务汇总列表

五、总结

如果本地还没有开通原生的IPv6,我们可以通过以下方法开通IPv6,以Windows 10为演示,Win+X 打开CMD 或 Windows PowerShell(管理员),输入命令:

// 设置 Teredo 服务器,默认为:win10.ipv6.microsoft.com
  netsh interface teredo set state enterpriseclient server=default  
  // 测试 IPv6 连接
  ping -6 ipv6.test-ipv6.com
  ping -6 [2001:470:1:18::125]
  // 重置 IPv6 配置
  netsh interface ipv6 reset

重启系统通过命令ipconfig /all 查看当前网络信息,看到 Teredo Tunneling Pseudo-Interface 有以 2001 开头的IPv6地址即可。 启动IE浏览器,访问 http://test-ipv6.com 或 http://ipv6.test-ipv6.com,如果选项卡 “测试项目” 下面的 “不使用域名的 IPv6 测试” 显示成功,则隧道建立成功。Chrome浏览器的测试结果可能和IE不一样,请注意。

绑定IPv6地址本地开通

VPS绑定好了IPv6后,可以Ping测试一下IPv6网络是否通畅。Linux常用的命令是:ping6 ipv6.google.com。更多的Linux网络配置方法这里有:Linux手动设置IPv4和IPv6地址

文章出自:挖站否 https://wzfou.com/vps-ipv6/,部分内容参考:imfan 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。


分享到:

关于站长(Qi),2008年开始混迹于免费资源圈中,有幸结识了不少的草根站长。之后自己摸爬滚打潜心学习Web服务器、VPS、域名等,兴趣广泛,杂而不精,但愿将自己经验与心得分享出来与大家共勉。

已有 16 条评论
  1. 柳絮随风

    学校里ipv6 还是挺好用的

    4月28日 16:08 1 回复
  2. nofog

    V4和V6都交给了CF

    4月11日 19:131 1 回复
  3. IPV6确实是趋势。我这里的宽带已经全面接入IPV6了。

    3月19日 18:01 1 回复
    • 夏目贵志

      我k2路由器刷panda固件

      开启了ipv6 ipv4 两个一起用

      3月24日 06:43来自移动端1 回复
  4. Menci

    推荐清华的 ISATAP,对国内线路友好

    3月17日 01:58来自QQ 回复
    • Qi

      谢谢,有空试试。

      3月19日 16:31 回复
  5. 克劳德

    像Vultr 2.5刀的只有ipv6情况下,只有ipv4接入的用户是不是就不能访问这台vps了?

    3月16日 05:07 回复
    • Qi

      接入CF CDN,然后就可以让IPv4用户访问了。

      3月19日 16:51 回复
  6. aggr

    qi ,最近看到一个不错的图床,很满意,你能写个教程吗,下面是地址,go 的不太会弄啊
    https://github.com/aimerforreimu/AUXPI

    3月14日 21:553 回复
    • Qi

      看起来聚合图床,我去看看。

      3月19日 16:54 回复
  7. 为什么qi的网站不能使用Reeder订阅了?以前的freehao123.com 没有问题呀。

    3月14日 11:28 回复
    • Qi

      我记得之前有朋友也是这样的问题,不知道是RSS的格式错误。

      3月19日 16:56 回复
  8. henet真是家大业大 国内不少原生ipv6出国也是走henet

    3月14日 10:31 回复
    • Qi

      是的,国际大公司。

      3月19日 16:56 回复
  9. wee

    我这里已经有了原生的IPv6了

    3月14日 09:53 回复
  10. 教学很实用,
    也能将网站接入cdn获得ipv6

    3月14日 08:25来自移动端 回复

Login

欢迎!请登录你的账号。

记住我 忘记密码?

还未注册 注册

Lost Password

Register

返回顶部