欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

阿里云ecs开启ipv6支持(详细教程)

程序员文章站 2022-06-06 22:59:24
...

ipv6模块

1、修改/etc/modprobe.d/disable_ipv6.conf文件

vim  /etc/modprobe.d/disable_ipv6.conf

修改前

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

修改后

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

2、修改/etc/sysconfig/network

vim /etc/sysconfig/network

修改前

NETWORKING=yes
HOSTNAME=coolnull
NETWORKING_IPV6=no
PEERNTP=no
GATEWAY=*.*.*.*

修改后

NETWORKING=yes
HOSTNAME=coolnull
NETWORKING_IPV6=yes
PEERNTP=no
GATEWAY=*.*.*.*

3、修改/etc/sysctl.conf

vim /etc/sysctl.conf

修改前

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

修改后

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

4、创建系统在启动时自动加载 IPv6 模块的脚本

创建脚本

vim /etc/sysconfig/modules/ipv6.modules

脚本内容

!/bin/sh
if [ ! -c /proc/net/if_inet6 ] ; then
exec /sbin/insmod /lib/modules/uname -r/kernel/net/ipv6/ipv6.ko
fi

5、重启服务器,检查内核是否已经支持ipv6

sysctl -a | grep ipv6 | grep disable

运行以上命令,查看有无回显,若有回显说明内核已经支持ipv6

若没有回显,重启服务器,使内核生效

6、开启内核参数支持ipv6

  sysctl -w net.ipv6.conf.all.disable_ipv6=0

再次运行sysctl -a | grep ipv6 | grep disable

若参数全部为0,则说明ipv6已经全部支持

7、至此ipv6的服务器端支持已经完成,重启服务器测试是否支持ipv6,重启后

lsmod | grep ipv6

阿里云ecs开启ipv6支持(详细教程)

有输出就代表开启成功

ifconfig | grep -i inet6

阿里云ecs开启ipv6支持(详细教程)

申请ipv6地址

1、进入tunnel官网申请一个账号,链接如下

Tunnel官网

2、选择 Create Regular Tunnel 创建一个到自己公网 IP 的通道。

阿里云ecs开启ipv6支持(详细教程)

3、到此可能会遇到在输入自己地址之后,提示ping不通的情况,按如下教程处理

  1. 登录阿里云控制台->找到安全组规则->添加安全组规则

  2. 按照下图操作,

    阿里云ecs开启ipv6支持(详细教程)

    到此可以本地和服务器都ping一下,问题得以解决。

4、回到第二步,地址填好之后,找到Example Configurations

阿里云ecs开启ipv6支持(详细教程)

红线圈出来的就是你所得到的地址

5、回到命令行,ping一下你得到的地址

阿里云ecs开启ipv6支持(详细教程)

6、查看一下IPv6模块开启状态

ifconfig
阿里云ecs开启ipv6支持(详细教程)

7、添加域名解析AAAA,记录值就是之前的tunnel申请得到的ip

阿里云ecs开启ipv6支持(详细教程)

8、测试域名,http://ipv6-test.com/validate.php

阿里云ecs开启ipv6支持(详细教程)

到此解析完成,只是没有ipv6的服务,可以采用nginx部署服务

Nginx安装与配置

1、安装weget、vim和gcc

yum install wget
yum install vim-enhanced
yum install make cmake gcc gcc-c++

2、配置

  1. 下载地址

  2. 将第一步下载的文件上传到服务器

    阿里云ecs开启ipv6支持(详细教程)

3、解压并执行文件

cd /usr/local
tar xvzf nginx-1.4.4.tar.gz
  1. 跳转到解压过后的目录,执行命令配置新的参数,加入 ipv6模块。

    cd nginx-1.9.9
    
    ./configure --prefix=/usr/local/software/nginx/ --with-ipv6
    
  2. 编译源码

    make
    
  3. 安装

    make install
    
  4. 查看–with-ipv6是否已经存在

    cd /root/tmp/nginx-1.4.4/objs
    /usr/local/software/nginx/sbin/nginx -V
    

    阿里云ecs开启ipv6支持(详细教程)cd

  5. 启动nginx

    cd /usr/local/software/nginx/sbin/
    ./nginx
    
  6. 查看nginx是否运行

       ps aux | grep nginx
    

    阿里云ecs开启ipv6支持(详细教程)

  7. 此处我是修改了端口号的,如果你的80端口没有被占用就不用走这一步

    1. 找到nginx.conf配置文件,在你的安装目录下

      cd /usr/local/software/nginx/conf/nginx.conf
      
    2. 修改默认端口,此处的ipv6地址,是你前面得到IPv6地址

      阿里云ecs开启ipv6支持(详细教程)

    3. 重启修改配置

      ./nginx -s reload
      
    4. 查看Nginx配置文件是否成功

      ./nginx -t
      

      阿里云ecs开启ipv6支持(详细教程)

    5. 到此你需要注意一个问题,因为我前面是修改了端口号的,所以你需要在你的防火墙添加你修改的端口号,不然是无法访问的

      1. 添加你修改的端口号,以我修改的1001为例

        firewall-cmd --zone=public --add-port=1001/tcp --permanent
        
      2. 重启防火墙

        firewall-cmd --reload
        
      3. 查看现在已有的端口号

        firewall-cmd --list-ports
        

        阿里云ecs开启ipv6支持(详细教程)

    6. 你可以用你的域名加端口号访问了,会出现下面界面

      阿里云ecs开启ipv6支持(详细教程)

    7. 可以登录http://ipv6-test.com/validate.php地址进行测试,但是可能会出现下面的情况

      阿里云ecs开启ipv6支持(详细教程)

      出现这个问题是He不够稳定,为了解决这个问题,我翻了很多帖子,下面给出解决办法,

      1. ​ 自己编写一个定时Ping的脚本,去ping一个IPv6地址

        cd /usr/local/software/nginx
        

        在s上面此路径中创建一个脚本文件

        touch test.sh
        

        编写脚本文件

        vim test.sh
        

        每隔5秒去ping一下这个地址

        #!/bin/bash
        while : ;do
        
        ping6 ipv6.baidu.com -c1 >/dev/null 2>&1
        echo "yes ping"
        sleep 5
        done
        

        执行文件

        ./test.sh
        
    8. 到此就大功告成了,

      阿里云ecs开启ipv6支持(详细教程)

    制作不易,转载麻烦备注原创链接!!!

参考链接:

大佬链接1

CSDN2

CSDN3

相关标签: nginx ecs