關於IPv6技術升級具體做了什么,在我腦海里只是更換了域名解析的IP而已,所以找了這篇文章,幫助初步解惑。
原文地址:https://www.maczd.com/post/web-ipv6-upgrading.html#prettyPhoto
網際協議第六版 IPv6(Internet Protocol version 6)是最新的互聯網協議,協議標准最早誕生於 1998 年 12 月。IPv6 的出現解決了 IPv4 地址枯竭的問題和提升網絡傳輸效率,不過由於開始時期 IPv6 的標准復雜以及需要硬件軟件同時支持,運營商和用戶對升級 IPv6 積極性並不高。

一、為什么要對網站進行 IPv6 改造
近些年來,IPv6 普及迅猛開來,許多國家的電信運營商紛紛跟進建設 IPv6。伴隨着運營商舊設備的報廢,新設備普遍支持 IPv6,一些 IPv6 的基礎設施如 DNS 等也基本建立完成。
2011年 6 月 8 日,以 Google、Facebook、雅虎等互聯網巨頭網站相繼開始支持 IPv6; 在 2017 年,Google 曾宣布大約有 20% 的訪客使用 IPv6 進行搜索。
中國也印發了《推進互聯網協議第六版(IPv6)規模部署行動計划》,計划到 2018 年末,中國 IPv6 用戶不低於 2億,占互聯網用戶比例不低於 20%,2020 年,IPv6 用戶不低於 5 億,占互聯網用戶比例不低於 50%,2025 年末,中國 IPv6 規模、用戶規模世界第一。
資料來源:http://www.xinhuanet.com//politics/2017-11/26/c_1122012631.htm
在中國,三大基礎運營商已經基本上完成了對 IPv6 的改造,如果您的設備支持 IPv6,現在基本上可以連接到 IPv6 網絡。因此,現在有必要對現有網站進行 IPv6 升級改造,以便盡早支持 IPv6 訪客。
二、如何對網站進行 IPv6 改造
網站 IPv6 改造主要是從以下方面:
(一)網站 IPv6 改造條件
1、域名支持 AAAA 解析
AAAA 解析是將域名解析為 IPv6 地址。目前幾乎主流的域名商和提供的 DNS 解析服務都支持 AAAA 解析。
2、服務器系統軟件支持 IPv6
目前幾乎所有的操作系統和服務器軟件都支持 IPv6。在軟件上幾乎不存在問題。
3、主機運營商提供 IPv6 地址
目前網站 IPv6 改造最主要的還是需要主機運營商的支持,需要提供和分配 IPv6 的地址。
(二)服務商提供的 IPv6 方式
目前國內的雲主機服務商(2018年)主要有以下幾種實現方法:
(1)IPv6 雙棧
主要是華為雲和景安雲,同時為主機服務器提供 IPv6 和 IPv4 雙地址,主機可以直接和 IPv6 和 IPv4 網絡進行通信。

華為雲 IPv6 解決方案
國外大部分的服務器也是使用類似的方案。
(2)IPv6 轉換
主要是阿里雲和百度雲在用。運營商為服務器提供一個 IPv6 地址,但不是配置在主機網卡上,而是統一管理,在前端上對 IPv6 流量(TCP、UPD)轉換成 IPv4 流量,再轉發到后端的服務器,有點像於端口轉發的應用層代理。

百度雲 IPv6 終結
優點是不需要改變主機原有結構,特備是對於 HTTP 服務器可以做到快速實現。缺點是服務器不能主動的進行 IPv6 通信,同時一些軟件會有異常,如 HTTP 服務器日志記錄根本不到 IPv6 地址。
三、本站 IPv6 改造方案
本站一共使用了兩台服務器,分別進行了網站 IPv6 支持改造,步驟如下:
(一)百度雲 IPv6 改造步驟
本站托管於百度雲中,目前百度雲為客戶提供了名為 IPv6 終結功能,就是上述所說的 IPv6 轉換服務。目前還在內測階段。經過申請,說明了使用目的后,客服為我分配了一個 IPv6 地址。詳細的使用方法請參照IPv6終結者配置說明:IPv6終結功能
根據百度雲IPv6 終結者服務說明,所有通過 IPv6 的流量,協議和目的端口不變,源地址轉換為固定地址段內的IPv4地址(106.12.248.0/21)再轉發到我的服務器上。
對於 7 層 HTTP 應用,會加入 X-Forwarded-For 來標注真實的 IPv6 地址,不然在自己的服務器看來,都是來自 106.12.248.0/21 這些地址。
不過由於我的網站使用了 HTTPS, X-Forwarded-For 這個 http 頭不能正常寫入。所有 IPv6 來的流量在我看來都是 來自106.12.248.0/21 這個網段。最后只要將 DNS 的國內 AAAA 記錄解析到 這個地址即完成了網站 IPv6 的改造升級。
(二)Vultr 服務器 ipv6 改造步驟
對於 vultr 服務器為本站提供加速。vultr 使用的技術是 IPv6 雙棧,並且給了我一個 /64 的子網,原則上為我分配了2的64次方的 IP 地址,這些 ipv6 地址默認是可用的。
簡單通過配置為網卡指定了上述子網中任意的 IPv6 地址后,只要將 DNS 配置海外訪客的 AAAA 解析結果配置到這個 IPv6 地址即可完成網站 IPv6 改造。后續會介紹如何為網卡指定 IPv6 地址。
需要注意的是 IPv6 防火牆和 IPv4 防火牆不同,需要單獨配置,請一定要盡早配置,以免內部服務暴露在 IPv6 公網上。
四、結語
改造后網站將完全支持國內外的 IPv6 訪客的訪問,通過 DNS 將不同位置訪客自動分配到不同的服務器,速度也都很不錯。
這篇文章寫於 2018年,預計未來的兩年,將是世界 IPv6 快速發展的時代,預計越來越多的服務器、CDN 都會提供 IPv6 服務。本文介紹的方案僅適用於最近,若有不足之處,還請多提意見。
