Ubuntu/CentOS IPv6 配置

IPv4网络

在现实生活中,咱们须要给一我的,好比张三,传递信息或者物品的时候咱们须要知道张三的地址或者手机号或者其它能找到张三的标识。php

同理,在网络中咱们要给张三通信的时候咱们须要知道张三的网络标识;html

在现代网络通信中这个标识就是IPnginx

图片描述

上图是一个简单的网络示意图web

用户A须要给webserver通信的时候只须要知道对方的IP就好了express

可是某天用户A以为每次都要记住IP那一串数字太单调了,并且用户A有好多个这样的通信记录,每次都得查找通信记录对应的IP才能通信,人生不该该这样无趣。安全

因而用户A为通信录里面的每个联系的对象起了一个名字,可是这时候的名字也只有用户A本身知道,你们都不知道,怎么办?服务器

因而用户A通知了通信录里面的联系人,并跟这些联系人约定了各自的通信名称,为了保证安全、准确、不被篡改、便于查询,用户A跟你们约定选择一个地方存放这份通信目录,因而DNS服务器诞生了。网络

  • 通信地址:IP
  • 各个联系人通信名称:域名
  • 通信名称目录:IP-域名
  • 通信名称目录存放地:DNS 服务器

通信场景:dom

当用户A访问 www.loveyou.com 的时候,用户A的电脑就会先查询 www.loveyou.com 对应的通信地址(IP),而后根据通信地址请求所须要的资源。测试

IPv6

随着蜘蛛网?一每天的扩张,某天用户A发现通信地址(IPv4)不够用了,就跟你们商量着弄一个新的通信地址,因而IPv6就来了。

那么IPv6怎么通信?

小样,不就是改了给马甲,升级了一下吗?我还能不认识?

网络通信的基本要素是不变的,不要看到IPv6就以为很高大上,好像到了另外一个世界,我什么都不知道了,剥了IPv6那层皮,仍是一个样!

  • 通信地址:IP
  • 各个联系人通信名称:域名
  • 通信名称目录:IP-域名
  • 通信名称目录存放地:DNS 服务器

那么IPv6的配置需求理清了吗?

申请IPv6地址

一、IPv6地址,点击register注册一个帐户

图片描述

图片描述

二、注册完成后须要校验,到填写的邮箱里面点击对应邮件的连接就行

三、登陆后点击左边的Create Regular Tunnel,在右边填写服务器的IP,点击底部的create Tunnel就好了

clipboard.png

四、建立完成后的页面

clipboard.png

五、点击Example Configurations,选择与服务器对应的操做系统就会自动生成相应的配置了,把自动生成的内容黏贴到/etc/network/interfaces文件底部就行,这一步就是配置服务器的IPv6地址

clipboard.png

六、服务器的IPv6服务默认是关闭的须要手动开启,修改/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

七、配置nginx、express或者其它的web服务支持IPv6就好了

这里以nginx为例:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name 你的域名; 


    # Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
    return 301 https://$server_name$request_uri;
}

server {

    #使用HTTP/2,须要Nginx1.9.7以上版本
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
}

八、重启服务器(应该不须要重启,可是我懒,记不住怎么热加载了)

九、给域名添加IPv6解析

  • A (Address) 记录:配置域名指向一个IPv4地址(如8.8.8.1)增长A记录便可
  • CNAME记录:别名;若是将域名指向一个域名,实现与被指向域名相同的访问效果,则须要增长CNAME记录
  • MX记录:创建电子邮箱服务,将指向邮件服务器地址,须要设置MX记录
  • NS记录:域名解析服务器记录,即把子域名指定某个域名服务器来解析,就须要设置NS记录
  • TXT记录:用来作SPF记录,反垃圾邮件使用
  • SRV记录:用来记录某台服务器提供的服务状况
  • AAAA记录:域名指向一个IPv6地址记录
  • URL记录:但愿访问 A 域名时访问到 B 域名的内容,这时就能够经过URL转发来实现,能够将A域名转发到B域名或B域名某一个目录下;如 XXX.example.com 转发到 http://www.XXX.com/details

根据DNS提供的解析规则,咱们须要给域名添加一个AAAA的解析,这个解析通常10分钟左右生效

域名配置IPv6地址解析的

$ dig www.xxx.cn AAAA +noall +answer

; <<>> DiG 9.8.3-P1 <<>> www.xxx.cn AAAA +noall +answer
;; global options: +cmd
www.xxx.cn.        600    IN    AAAA    20XX:4XX:XX:XXX::2

域名没有配置IPv6地址解析的

$ dig www.xxxa.cn AAAA +noall +answer

; <<>> DiG 9.8.3-P1 <<>> www.xxxa.cn AAAA +noall +answer
;; global options: +cmd

十、咱们来测试一下webserver是否支持IPv6

IPv6 测试网址

输入刚刚配置的支持IPv6的nginx web域名便可

clipboard.png

能够看到nginx相应的web已经支持IPv6了,可是下面有个IPv6 DNS Server 有个提示

This domain has no IPv6 DNS server, this may prevent some IPv6-only users from reaching it.

大意是:解析该域名的DNS服务器是IPv4的DNS server,不是IPv6的DNS server,这会致使只支持IPv6的用户不能访问该域名,全部须要一个支持IPv6的DNS server

十一、修改域名解析的DNS服务器

目前万网的域名默认的NDS服务器是IPv4的DNS server,若是要支持IPv6-only,则须要修改DNS服务器

IPv6 DNS server参考连接1,不保证真实性,需自行承担责任

IPv6 DNS server参考连接2,不保证真实性,需自行承担责任

十二、iOS的小伙伴能够愉快的玩耍了

自从2016年5月初Apple明文规定全部开发者在6月1号之后提交新版本须要支持IPv6-Only的网络

iOS APP须要的配置

一、API的域名须要支持IPv6
二、后台须要支持IPv6
三、APP里面须要支持IPv6
四、DNS服务器可使用IPv4DNS服务器(由于目前大多数网络还不支持全链路IPv6,使用IPv6DNS服务器有可能解析失败)

非云服务器的配置

一、公司有本身的硬件服务器和防火墙的,须要在防火墙上设置IPv6的nat地址映射,保证用户使用IPv6地址访问的时候可以进入内网。

具体配置方法请查询对应硬件的配置手册,最好是咨询硬件提供商,看看硬件是否支持IPv6的nat配置

相关文章
相关标签/搜索