天天看點

你好啊 IPv6

不知道是否因為中美貿易争端更新的原因,最近咨詢IPv6解決方案的使用者突然間就多了起來。

因為這些客戶的需求高度的一緻:

  • 均為傳統行業和政府客戶。
  • 網站要在年底前要提供IPv6用戶端的通路支援。
  • 不能影響現有IPv4用戶端的通路。
  • IPv4和IPv6用戶端用同一個域名通路網站,且顯示的内容要保持一緻。
  • 對IPv6使用者的通路要進行記錄跟蹤。
  • 要能夠感覺IPv6用戶端的通路體驗。

針對這些需求,明智的客戶都會選擇利用雲服務來解決問題,這才導緻了最近的咨詢量暴增。通過和這些客戶的交流,我總結出兩個解決方案,供有類似需求的客戶參考選擇。

相容非阿裡雲伺服器的方案

無論您的伺服器在不在阿裡雲上都可以選擇這個解決方案,這個解決方案可以支援線下IDC,或者其他雲平台上的的伺服器,當然如果伺服器就在阿裡雲上自然是支援的更好的。

解決方案由如下産品構成:

  • 阿裡雲解析DNS,支援IPv4和IPv6的位址使用同一個域名。
  • 阿裡雲IPv6轉換服務、在保留原有網站IPv4位址的同時,為網站增加一個IPv6位址,實作同時通路。
  • 阿裡雲Web應用防火牆企業版、在提高網站安全性的同時為網站提供IPv6使用者的通路記錄功能,為什麼必須是企業版,因為阿裡雲隻有企業版以上的Web應用防火牆才支援IPv6,當然土豪還可以選擇旗艦版。
  • 阿裡雲ARMS前端監控、提供對IPv6使用者的體驗感覺和記錄功能,當出現網站無法打開、加載緩慢等情況時,ARMS前端監控可以感覺并報警,事後還能提供分析和回溯。

因為使用了Web應用防火牆企業版,所這個解決方案除了貴之外,沒有其他缺點,但假如您的網站本來就缺一個Web應用防火牆的話,就另當别論了。

隻支援阿裡雲伺服器的方案

如果您不需要Web應用防火牆的話,還可以選擇更便宜的解決方案,但前提是您的伺服器在阿裡雲的如下地域範圍内:

  • 華北2、北京
  • 華東1、杭州
  • 華東2 、上海
  • 華南1、深圳

阿裡雲上伺服器的IPv6解決方案涉及如下産品:

  • SLB IPv6執行個體、通過SLB的IPv6執行個體可以為同地域的IPv4伺服器提供額外的IPv6位址和通路入口,目前阿裡雲上的SLB IPv6執行個體僅在部分地域的部分可用區提供,且SLB執行個體必須為性能保證型,不過放心,性能保障型中的的簡約I型執行個體不收取額外執行個體費用,而且性能對于一般的機構網站完全夠用。為了能夠跟蹤IPv6用戶端的位址,SLB必須使用http/https應用層負載均衡,這樣用戶端的位址就能夠嵌入HTTP頭,在伺服器上再通過适當的配置就能将用戶端的位址解析出來。

這個解決方案的成本比前一個解決方案差了十倍不止,呃……不對,好像是将近百倍了,這或許從另一個方面展現出阿裡雲的價值吧。

以下是一些操作的過程和截圖,僅供參考:

阿裡雲DNS服務支援同一個域名分别解析成IPv6和IPv4位址:

你好啊 IPv6

SLB的IPv6執行個體:

該IPv6執行個體的IPv6位址為:2400:3200:1500::30

你好啊 IPv6

從伺服器日志上可以看到用戶端的IPv6位址:

每一行前面的是SLB的内網IPv4位址,因為SLB是一個叢集,是以該位址總在變化,SLB IPv6執行個體通過這個位址來通路同地域的IPv4伺服器,最後一列是真實的IPv6用戶端位址,該位址通過X-Forwarded-For字段記錄在HTTP頭中。

100.121.135.28 - - [25/May/2019:15:21:31 +0800] "GET / HTTP/1.1" 200 3488 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1””2409:8915:2402:7944:8572:72db:45ae:8444”

100.121.134.245 - - [25/May/2019:15:21:45 +0800] "GET / HTTP/1.1" 200 3488 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1””2409:8915:2402:7944:8572:72db:45ae:8444”

100.121.134.254 - - [25/May/2019:15:21:46 +0800] "GET / HTTP/1.1" 200 3488 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1””2409:8915:2402:7944:8572:72db:45ae:8444”

100.121.134.246 - - [25/May/2019:15:21:48 +0800] "GET / HTTP/1.1" 200 3488 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1””2409:8915:2402:7944:8572:72db:45ae:8444”

100.121.134.249 - - [25/May/2019:15:21:48 +0800] "GET / HTTP/1.1" 200 3488 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1””2409:8915:2402:7944:8572:72db:45ae:8444”

100.121.134.246 - - [25/May/2019:15:21:49 +0800] "GET / HTTP/1.1" 200 3488 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1””2409:8915:2402:7944:8572:72db:45ae:8444”

繼續閱讀