開源網格VPN meshboi及其背後原理
網格Mesh VPN如Nebula、Tailscale、Zerotier和Tinc有助於在網際網路上建立對等(網格)網路。這些工具安全、高效且透明地使多臺分散式計算機能夠進行通訊,就好像它們物理連線到同一網路交換機(第 2 層或第 3 層,取決於所使用的工具和配置)。這些工具有很多用例,但一些流行的用例是:
- 允許跨多個雲的例項上的服務進行通訊
- 允許漫遊使用者安全遠端訪問家庭網路
- 將“家庭實驗室”網路與雲網路連線起來
這些工具使這種通訊對於透過網格傳送和接收資料包的應用程式透明地發生,同時還可以解決 Internet 網路中的常見障礙,例如防火牆和 NAT。
網格模型與傳統的“明星”VPN 解決方案形成對比,例如 OpenVPN 或 StrongSwan。在星型 VPN 中,peer 之間的流量需要透過中央 VPN 伺服器,這會增加延遲並降低可擴充套件性(中央伺服器只能處理這麼多流量)。
meshboi 是一種玩具網格VPN 實現,專為娛樂和學習目的而建立。它允許以類似於Nebula和Tailscale等工具的方式在網際網路上建立對等網路。Meshboi 是用 Go 編寫的,純粹是為了娛樂和學習而建立的(所以請使用其他出色的工具之一來執行生產環境!)。
在建立這樣的工具時,有幾個核心問題需要解決。
- 可發現性/自舉——如果兩個對等點想要互相交談,他們如何知道如何找到對方以形成連結?
- 透明度- 該工具應允許應用程式將其流量傳送到網格上的對等點,而無需應用程式瞭解網格上的任何細微之處。該工具應該抽象出網格 VPN 的概念,以便應用程式不需要修改並且可以像普通網路應用程式一樣執行。
- 網路地址轉換 (NAT) - 大多數網際網路仍然基於 IPv4,因此允許兩臺計算機之間的通訊都在 NAT 之後存在複雜性。在某些情況下,一層或什至兩者都可以位於多層 NAT (CGNAT) 之後。
- 防火牆- 在任何兩對計算機之間,通常有很多防火牆通常(並且可能是正確的!)阻止未經請求的網路流量進入網路。雖然其中一些防火牆是可配置的,並且可以開啟,但在某些環境中,防火牆不受使用者控制(想想公司網路或咖啡館中的 wifi 熱點)。某些 ISP 甚至可能會阻止某些型別的流量。
- 安全性- 如果某個工具將本地網路暴露給 Internet,則應確保流量受到保護,以免第三方讀取或篡改。大多數這些網格 VPN 工具使用的模型是,來自網際網路的流量不受信任,但一旦進入,它就會受到信任。
如果您追求生產就緒的網格 VPN 解決方案,那麼有很多解決方案比 meshboi 效果更好。特別是,像 Tailscale 和 Nebula 這樣的解決方案可以做如下事情:
- 多平臺支援(OSX、Windows)
- 更好的身份驗證(基於證書或基於 SSO)
- 有更好的表現
- 一般穩健性
- 已稽核安全
詳細點選標題
相關文章
- 淺析遊戲內的古建築風格及其背後的含義遊戲
- 殭屍網路瞄準SonicWall SSL VPN,揭開隱匿在物聯網裝置背後的真面目
- 微軟開源 .Net 平臺的背後故事微軟
- 漫談 Greenplum 開源背後的動機
- firewalld: 背後的原理(nftables)
- 背後支援著 Instagram 的開源技術
- Spring Cloud Alibaba 開源背後的故事 | 開源中國專訪SpringCloud
- 開源筆記軟體 Joplin 背後的故事筆記
- 手柄漂移背後的科學原理
- 揭秘!網路詐騙催生下的秒撥IP黑產及其背後網羅的“獵物”
- Iterator(迭代器)的用法及其背後機制的探究
- React Router 4 簡介及其背後的路由哲學React路由
- 區塊鏈背後的資訊保安(1)AES加密演算法原理及其GO語言實現區塊鏈加密演算法Go
- .NET開源的背後:是無奈,還是順應潮流?
- 優步的緊急按鈕及其背後的技術
- Bootstrap3.0 柵格系統背後的精妙魔法(Bootstrap3.0的柵格佈局系統實現原理)boot
- 解讀銀行卡支付背後的原理
- 梯度下降背後的數學原理幾何?梯度
- 部落格和網站賺錢的背後技巧?哪個更適合你?網站
- JavaScript中判斷物件是否屬於Array型別的4種方法及其背後的原理與侷限性JavaScript物件型別
- 框架雖好,但不要丟了其背後的原理框架
- Reverse原理背後的數學和魔幻藝術
- 收款神器!解讀聚合收款碼背後的原理
- JVM 進行執行緒同步背後的原理JVM執行緒
- 網路地址轉換NAT原理及其作用
- mpls l2vpn 原理--VeCloudCloud
- 獨家對話RadonDB設計者 暢談開源背後的初心
- 章文嵩:談LVS及阿里開源背後的精彩故事阿里
- 探討一下To C營銷頁面服務端渲染的必要性以及其背後的原理服務端
- 區塊鏈背後的資訊保安(2) DES、3DES加密演算法原理及其GO語言實現區塊鏈3D加密演算法Go
- 互動小說及其開源簡史
- 爬蟲開源專案及其思想爬蟲
- 開源夜聊欄目開播:聊聊新晉 CNCF 專案 sealer 背後的故事
- 刷臉背後,卷積神經網路的數學原理是這樣的卷積神經網路
- 賣出1.2億份遊戲背後的美術風格遊戲
- ERP價格戰背後所引發的思考(轉)
- 聊一聊Unity協程背後的實現原理Unity
- 免費 ,免費開源 ,ThinkPHP 部落格後臺管理系統5.0開發的個人部落格 程式開源共享.個人部落格系統,老張部落格-Boot.ZPHPboot