一文搞定:銀行IPv6改造部署模式
2022-06-10由 佟老闆網路技術雜談 發表于 農業
銀行報文英文怎麼說
開篇先說一下為什麼要寫這篇文章,從去年開始,陸陸續續有做銀行、企事業單位
IPv6改造專案的朋友向我諮詢,或者一起討論選擇的技術、實施的方案,以及分享走過的坑、踩過的雷。
巧合的是
我大學畢業論文的主題就是《
IPv4向IPv6過渡技術初探》
,之前考
CCIE的時候也擴充了一下IPv6技術知識,同時也幫助幾個銀行的朋友做過規劃。
人民銀行要求從
19年開始,持續推進IPv6規模化部署,我就開始
為所就職的
“某行”做了三步走的規劃
。接下來我會用
4
個案例
,介紹目前金融行業
IPv6改造的部署模式。
想直接看改造方案的小夥伴,下跳到第三章!
想直接看難點解析的小夥伴,下跳到第四章!
一、
IPv6掃盲介紹
1.
什麼是IPv6
百度百科的說法是:
IPv6是英文“Internet Protocol Version 6”(網際網路協議第6版)的縮寫,是網際網路工程任務組(IETF)設計的用於替代IPv4的下一代IP協議,其地址數量號稱可以為全世界的每一粒沙子編上一個地址。
由於
IPv4最大的問題在於網路地址資源不足,嚴重製約了網際網路的應用和發展。IPv6的使用,不僅能解決網路地址資源數量的問題,而且也解決了多種接入裝置連入網際網路的障礙。
圖
1 (我真的沒有美術細胞,大家湊合看)
2.
IPv6的優點
(1)
IPv6具有更大的地址空間。
IPv4中規定IP地址長度為32,最大地址個數為2的32次方個;而IPv6中IP地址的長度為128,即最大地址個數為2的128次方個。
(2)
IPv6使用更小的路由表。
IPv6的地址分配一開始就遵循聚類(Aggregation)的原則,路由表中用一條記錄(Entry)表示一片子網,大大減小了路由器中路由表的長度。
(3)
IPv6自動配置(Auto Configuration)。
這是對
DHCP協議的改進和擴充套件,使得網路(尤其是區域網)的管理更加方便和快捷。
(4)
IPv6的高安全性。
在
IPv6網路中,使用者可以對網路層的資料進行加密並對IP報文進行校驗,在IPv6中的加密與鑑別選項提供了分組的保密性與完整性。極大的增強了網路的安全性。
還有其他一些優點,一般也用不到,就不再贅述了。
二、
IPv4向IPv6過渡技術
由於目前絕大部分使用者以及作業系統、應用、資料庫使用的是
IPv4地址,因此想要一步到位放棄IPv4地址,轉而使用IPv6地址是不現實的,因此我們需要透過某些技術來實現平滑過渡。
常用的過渡技術有三種:
NAT-64地址轉換技術、6-to-4隧道技術、IPv4/IPv6雙棧部署技術。
1.
NAT-64地址轉換技術
該技術是一種純
IPv6節點和IPv4節點間的互通方式,所有包括地址、協議在內的轉換工作都由網路裝置來完成。
目前在金融行業的生產環境中,主要透過兩種裝置來完成地址轉換的工作,Internet出口區的防火牆,或者鏈路負載均衡(例如F5裝置)
。當然,也有因為某些特殊場景,在
DMZ區的邊界防火牆,或伺服器區負載均衡裝置上做地址轉換。至於像IE考試中,在路由器上做地址轉換的場景,暫時還沒有遇到過。
2.
6-to-4隧道技術
隧道技術指將另外一個協議資料包的報頭直接封裝在原資料包報頭前,從而可以實現在不同協議的網路上直接進行傳輸。參考
GRE隧道、MPLS VPN隧道。
這種機制用來在
IPv4網路之上連線 IPv6 的站點,
將中間的
IPv4網路,看作為一個孤島,然後透過“架橋”的方式,將IPv6站點連線起來
。隧道技術將
IPv6 的分組封裝到 IPv4 的分組中,封裝後的 IPv4 分組將透過 IPv4 的路由體系傳輸。
3.
IPv4/IPv6雙棧部署技術
該技術是目前
IPv6改造過程中,相對來說用的
最多的技術
。
IPv4和IPv6有功能相近的網路層協議,同一個主機或同一臺裝置(可以是路由交換裝置、也可以是防火牆、負載均衡等裝置)同時執行IPv4和IPv6兩套協議棧,具有 IPv4/IPv6 雙協議棧的結點稱為雙棧節點,這些結點既可以收發IPv4報文也可以收發IPv6報文。
4.
總結
透過對以上三種技術的分析,我個人建議,在
業務或對外服務單一
的情況下,為了節約成本,減少配置量,可以
選擇
NAT-64地址轉換技術;在
多業務並存
,使用者訪問情況較複雜的情況下,可以
選擇
IPv4/IPv6雙棧技術,這樣既可以使網路流量清晰可控,又可以提高雙協議的冗餘可靠性。
三、
銀行IPv6改造方案介紹
接下來我會透過之前親自做過,或參與討論過的
4個銀行案例,來介紹目前主流的金融行業IPv6改造方案。在此之前,我會以手機銀行為例,簡單講解一下手機銀行的訪問邏輯以及資料流走向。
1.
手機銀行訪問流程介紹(以某銀行為例)
手機銀行是銀行網際網路應用中最為常用的業務系統,並且其訪問流程相對比較全面,涉及的裝置也比較多。從客戶的手機發起應用連線,直到進入銀行資料中心一般會經歷以下過程:
(1)
客戶端
DNS解析
:我相信
99。99%的手機銀行應用,呼叫的服務地址都是域名,不可能是固定IP地址吧^-^;
(2)
銀行資料中心
DNS裝置或網際網路上的DNS裝置,根據鏈路負載、地址庫、靜態就近性等選路原則,
解析
IP地址返回給客戶端;
關於DNS的工作過程,以及自建或者託管等技術細節,本次不作為重點,如需詳解,可以給我留言。
(3)客戶端發起連線,
首先到達網際網路區鏈路負載裝置
的
vs,根據pool成員繼續流轉;
(4)經過網際網路邊界防火牆,
到達
SSL解除安裝裝置
,解除安裝後的流量繼續流轉。為什麼需要過
SSL解除安裝,是因為安全性要求,做到網際網路上的流量加密;
(5)
流量到達前置機所在的
DMZ區,可能會經過防火牆、IPS、WAF等安全裝置,最終
到達
DMZ區負載均衡
裝置;
以上,客戶端與手機銀行前置伺服器的通訊已經完成,後續的過程還會有以下內容:
(6)前置機將資料轉發到
生產網的應用伺服器
;
(7)應用伺服器
查詢資料庫
,或者與
其他業務系統
互動;
(8)應用伺服器返回資料,
沿源路徑最終到達客戶端
的手機上。
圖2 手機銀行訪問過程
2.
手機銀行雙資料中心部署模型
圖3 手機銀行模型
3.
案例1 獨立區域,雙棧部署
本案例出自某股份制銀行,部署方式也很簡單粗暴,其保留原有
IPv4網銀區,
新建獨立的
IPv6網銀2區
,該區域從網際網路地址、互聯地址、前置伺服器等,均
單獨使用
IPv6地址
,只有帶外管理使用
IPv4地址。
應用伺服器
配置雙網絡卡
,
IPv6網絡卡接收網際網路流量,IPv4網絡卡連線資料庫伺服器。
圖4 雙棧部署-1
本案例優勢:
(1)IPv4與IPv6區相互獨立,運營商單棧網路故障不對另一棧網路產生影響;
(2)冗餘度非常高,線路、裝置、應用均相互冗餘備份;
(3)
改造過程對現有
IPv4網路無影響。
本案例劣勢:
(
1)所有裝置1:1新採購,貴,太貴了;
(
2)建設週期長,應用對於IPv6的支援可能需要測試或改造。
4.
案例2 共用區域,雙棧部署
本案例出自某城商行,在原有網際網路區的基礎上,新增三層裝置,獨立承載
IPv6流量以及安全及訪問控制等功能。前置機採用雙網絡卡配置,IPv6網絡卡接收網際網路流量,IPv4網絡卡連線內部區域。
圖5 雙棧部署-2
本案例優勢:
(1)IPv4與IPv6區相互獨立,運營商單棧網路故障不對另一棧網路產生影響;
(2)冗餘度比較高,線路、裝置均相互冗餘備份;
(3)網際網路出口安全裝置,以及二層和透明傳輸裝置採用複用的方式,可以節約一定的成本;
(4)對現有網路配置變動較少。
本案例劣勢:
(
1)仍需新採購大量裝置,貴,太貴了;
(
2)建設週期長,並且需要對現有交換機的配置進行修改。
5.
案例3 複用裝置,雙棧部署
本案例出自某城商行,在原有網際網路區的基礎上,對所有裝置進行
IPv4/IPv6雙棧配置。當然這裡有一個前提,該區域的所有裝置均支援IPv6。
這些裝置包括網際網路出口區
F5鏈路負載均衡、DNS裝置、串接在各區域的防火牆、網銀區核心交換機、前置DMZ區匯聚交換機、應用負載均衡裝置、SSL解除安裝裝置等。
新增前置伺服器,採用雙網絡卡配置。同樣的,IPv6網絡卡接收網際網路流量,IPv4網絡卡連線內部區域。下圖為示意圖,省略冗餘裝置及部分安全類裝置。
針對某些應用無法增加雙網絡卡的情況,該方案在前置區
F5負載均衡裝置上對其進行NAT-64地址轉換,做法是VS使用IPv6地址,pool成員使用原來IPv4地址。
圖6 複用裝置,雙棧部署
改造後的總體架構如下:
圖
7 雙棧架構
本案例優勢:
(1)IPv4與IPv6複用運營商線路,節約線路費用;
(2)冗餘度比較高,線路、裝置均相互冗餘備份;
(3)所有網路裝置均使用原有裝置,無需新增投資。
本案例劣勢:
(
1)需要裝置均支援IPv6協議;
(
2)改造週期較長,並且改造過程可能會影響生產。
6.
案例四 懶得要死,NAT64
本案例出自某農商行,具體做法就是,在網際網路出口防火牆上,直接將
IPv6地址轉換為IPv4地址,換句話說,資料中心內部什麼都不變,什麼都不改。
上圖?就這方案也配。。。???
本案例優勢:
(1)省事兒;
(2)不花錢。
本案例劣勢:
(
1)一炸全炸;
(
2)監管明明說的要做雙棧,你不聽,早晚不還是得改。
四、
難點解析(避雷指南)
1.
DNS如何解析IPv6地址?
域名解析中,
IPv6地址對應的是AAAA記錄。
如果域名解析服務是託管在第三方權威,比如阿里雲,則在阿里雲上
直接配置域名對應的
IPv6地址的AAAA記錄
;
如果自己有
DNS伺服器,則
在域名託管機構配置域名所對應的
NS記錄
,然後在自己的
DNS伺服器上配置AAAA記錄。
2.
IPv6地址如何規劃才好記?
將原有
IPv4地址,巢狀在新規劃的IPv6地址中,例如:
原
IPv4地址為:10。1。2。100/24,IPv6地址使用/64字首,生成對應字首為:“FC01:10:1:2”,因此最終IPv6地址為:FC01:10:1:2:10:1:2:100。
3.
NAT64用什麼裝置做?
雖然用防火牆、路由器、負載均衡等裝置都可以做,我個人建議,如果
出口有
F5鏈路負載均衡裝置的情況,在F5上做
;如果考慮在伺服器區做地址轉換,
在伺服器區負載均衡上做
,這樣既能做到地址轉換,也可以同時實現負載均衡功能,參考案例
3。
4.
怎樣解決跨棧丟失session問題?
這個問題其實不只在
IPv4/IPv6雙棧的場景下會出現,如果某應用採用雙資料中心雙活的部署方式,也會出現該問題。這個問題透過基於cookie的會話保持是解決不了的,因為大部分的前置機是雙中心獨立的,而且cookie的會話保持也一般是做在前置機這一層,想要徹底解決問題,必須依託應用本身,
增加雙中心可以共享的
session伺服器
。
5.
怎麼記錄客戶端源地址?
在做地址轉換的裝置上,包括
F5裝置做SNAT或者AutoMap形式地址轉換的地方,插入http的x-forward-for欄位。
6.
TCP的訪問如何記錄客戶端地址?
使用
TCP option欄位,在F5裝置中新建irules,後端應用抓取TCP的對應欄位。
我是CCIE_佟老闆,一個讓你沉溺於網路學習世界的好夥伴。