1、需求背景
在數據中心之間未有專有的DCI網絡的情況下,需要打通不同數據中心之間的網絡,在對整體網絡質量要求不高的情況下,通過虛擬專用網絡的方式是一種快速實現的方式,且可以根據后續的需求來靈活的添加和減少。
2、技術分析
常用的用于數據中心之間網絡互通的隧道技術為IPsec虛擬專用網絡,IPsec 虛擬專用網絡適合于site-to-site和hub-spoke的組網方式,若需要互通的數據中心的數量相對比較少,使用IPsec虛擬專用網絡可配置,但若數據中心達到一定的數量,需要在這些數據中心之間實現Full-Mesh網絡,則使用IPsec 虛擬專用網絡在組網管理和維護上都難以適應,且IPsec虛擬專用網絡的配置復雜。
針對多數據中心的Full-Mesh網絡,使用WireGuard 能快速的實現組網,其具備如下優勢:
a、高性能:在 Full-Mesh 網絡中,每個 WireGuard 節點都直接與其他節點建立連接,無需經過中心化的路由器或服務器,其可以實現最短路徑直接傳輸,減少延遲和網絡擁塞;
b、簡化管理:推薦使用netmaker作為WireGuard的編排管理,無需單獨配置和管理每個節點之間的路由,簡化網絡管理和維護,減少配置錯誤和故障排除的復雜性;
c、連續性和可用性:Full-Mesh 網絡中的任何節點都可以直接與其他節點通信,即使其中一個節點發生故障,數據仍然可以通過其他可用的路徑傳輸;
d、網絡安全:Full-Mesh 網絡中的每個連接都使用 WireGuard 的加密功能進行安全通信,節點之間的數據傳輸是加密的,保護了數據的機密性和完整性。
3、組網介紹和配置
推薦使用netmaker作為WireGuard的編排管理,便于實現快速組網和完成路由配置。

該組網為驗證組網,基于云上3個云虛擬機來組件一個WireGuard網絡,其中每個云虛擬機代表一個數據中心,在云虛擬機中基于網絡network namespace的方式搭建對應的數據中心內部網絡,且該網絡為在公網IPv4的網絡上搭建IPv6的虛擬專用網絡網絡,并實現數據中心之間的IPv6網絡互通。
netmaker的學習和部署可以參考官網鏈接(docs.netmaker.io)。
在netmaker上創建虛擬專用網絡,填入對應的IPv4網段,并開啟對應的IPv6和填入IPv6網段,創建對應的Enrollment key(注冊密鑰)并關聯到已創建的虛擬專用網絡,在對應的WireGuard 云虛擬機上安裝netclient并使用“netclient join -t <token>”的方式把云虛擬機加入到netmaker上創建的虛擬專用網絡中,成功添加后,該云虛擬機上會創建netmaker網口,并配置對應的IPv4和IPv6的虛擬專用網絡虛擬地址,不同云虛擬機之間的虛擬地址默認互通,至此WireGuard的Full-Mesh組網搭建完成,后續需要把數據中心的路由加入到WireGuard網絡中。
把數據中心的路由加入到WireGuard中,本質上為把數據中心的目標地址加入虛擬專用網絡的興趣流中,數據中心網絡為對應虛擬專用網絡節點后端的網絡,在netmaker上在對應的虛擬專用網絡中基于每個虛擬專用網絡節點創建Egress Gateway,并把該虛擬專用網絡后端的數據中心目標地址添加到Egress Gateway的Input中,即通過該方式對應的目標地址會在該虛擬專用網絡的其他節點中把目標地址寫入到興趣流中,同時也會寫入到系統路由中到netmaker網口。至此基于Egress Gateway中寫Input的方式把對應數據中心的路由發布到虛擬專用網絡中,從而實現不同數據中心的網絡通過WireGuard的Full-Mesh互通。