GNB是一個開源的去中心化的具有極致內網穿透能力的通過P2P進行三層網絡交換的VPN。
本文以圖解的方式對 GNB 三種內網穿透虛擬組網方式進行介紹並給出配置具體
GNB極致的NAT穿透能力使得兩個異地網絡很輕易實現點對點通訊,但考慮到還是會遇到不成功的時候,圖中的1001節點屬性被設為forward
和 index
,這樣NAT穿透失敗的時候可以在用公網服務器中轉數據。 通常的由志願提供的公共索引節點是不提供forward
服務的,因此如果打算在無法NAT穿透的極端情況下兩個異地的計算機可以組網,那么就需要自行在公網搭建GNB的forward
和 index
節點。
host to host
host to host 是兩台計算機通過GNB建立的虛擬鏈路進行通訊
host to host配置
host to net
host to net 一台計算機通過GNB接入一個網絡,舉例說,用戶在咖啡廳、酒店用筆記本電腦通過GNB訪問家中的整個內網。 這個場景里,圖中右邊的GNB建議運行在一台OpenWRT路由器上。
host to net配置
左邊這端,需要配置一條路由。
net to net
net to net 這個模式是 兩個異地的局域網通過 GNB 組成一個虛擬的網絡,兩個局域網中任意一台機器都能互聯互通。
舉例說,假如有兩個異地的辦公室需要互訪,就可以通過這個方式不經過公網服務器中轉就能虛擬組網,這兩個異地辦公室網絡不需要有公網ip,也不需要公網服務器做中轉。
net to net配置
這個模式下,通常是把GNB運行在兩台OpenWRT路由器上,並且要根據具體網絡設好路由。
既然可以把兩個異地的局域網組成一個虛擬局域網,也可以在這個基礎上加入第三、第四個異地局域網。
關於gnb_udp_over_tcp
當遇到一些網絡運營商對UDP實行QOS策略時,請參考 gnb_udp_over_tcp gnb_udp_over_tcp是一個為GNB開發的通過tcp鏈路中轉UDP分組轉發的服務,也可以為其他基於UDP協議的服務中轉數據。