網際協議第六版 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 網路進行通訊。
國外大部分的伺服器也是使用類似的方案。
(2)IPv6 轉換
主要是阿里雲和百度雲在用。運營商為伺服器提供一個 IPv6 地址,但不是配置在主機網絡卡上,而是統一管理,在前端上對 IPv6 流量(TCP、UPD)轉換成 IPv4 流量,再轉發到後端的伺服器,有點像於埠轉發的應用層代理。
優點是不需要改變主機原有結構,特備是對於 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 公網上。
四、結語
改造後 Mac 知道 網站將完全支援國內外的 IPv6 訪客的訪問,透過 DNS 將不同位置訪客自動分配到不同的伺服器,速度也都很不錯。
這篇文章寫於 2018 年,預計未來的兩年,將是世界 IPv6 快速發展的時代,預計越來越多的伺服器、CDN 都會提供 IPv6 服務。本文介紹的方案僅適用於最近,若有不足之處,還請多提意見。