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配置

相關文章
相關標籤/搜索