Das Kommunikationsprotokoll von OpenGNB Version 1.5.0 wurde aktualisiert und ist nicht kompatibel
Chinesisches Englisch
Hinweis: Der größte Teil des Inhalts dieses Artikels wird von Google übersetzt. Übersetzt aus der chinesischen Version des "OpenGNB -Benutzerhandbuchs" unterliegt der Inhalt dieses Artikels der chinesischen Version.
OpenGNB ist ein Open-Source-P2P-dezentraler Software definiertes virtuelles Netzwerk mit extremer Intranet-Penetrationsfähigkeit und ermöglicht es Ihnen, Ihr Unternehmensnetzwerk zu einem Direktzug-LAN zu kombinieren.
Der gesamte Code, der sich auf das GNB -Projekt bezieht
Flussdiagramm LR
Subgraph Lan a
Nodea [VPN Clienta]
Ende
Subgraph Wan
NODEF [VPN Server]
Ende
Subgraph Lan b
NodeB [VPN ClientB]
Ende
nodea <-payload ---> nodef <-payload ---> nodeB
Nat -Traversal -Punkt zu Punkt
Flussdiagramm LR
Subgraph Lan a
nodea [gnb nodea]
Ende
Subgraph Wan
Index [GNB Public Indexknoten]
Ende
Subgraph Lan b
NodeB [GNB NODEB]
Ende
nodea -. NodeB -Adresse .- Index -. nodea address.- nodeB
nodea <-payload-> nodeB
Flussdiagramm LR
Subgraph Lan a
nodea [gnb nodea]
Ende
Subgraph Wan
nodec [nodec]
Noded [Noded]
nodee [nodee]
nodef [nodef]
Nodej [Nodej]
Nodek [Nodek]
Nodeg [Nodeg]
NODEH [NODEH]
nodei [nodei]
Ende
Subgraph Lan b
NodeB [gnb nodea]
Ende
nodea [nodea] ---- nodec [nodec] ---- noded [noded] ---- nodee [nodee] ---- nodef [nodef] ---- nodeB [nodeB]
nodea [nodea] ---- nodeg [nodeg] ---- nodeh [nodeH] ----
nodea [nodea] ---- nodej [nodej] ---- nodek [nodek] ---- nodeB [nodeB]
Flussdiagramm LR
Subgraph Lan a
nodea [gnb nodea]
Ende
Subgraph Lan c
NODEC [GNB NODEC]
Ende
Subgraph Lan d
Noded [GNB NODED]
Ende
Subgraph Lan e
NODEE [GNB NODEE]
Ende
Subgraph Lan b
NodeB [GNB NODEB]
Ende
nodea ---- nodec & noded & nodee ---- nodeB
Flussdiagramm LR
Subgraph Lan a
nodea [gnb nodea]
upd_over_tcp_a [upd_over_tcp]
Ende
Subgraph Wan
upd_over_tcp_b [upd_over_tcp]
NodeB [GNB NODEB]
Ende
nodea --udp payload --- upd_over_tcp_a--tcp payload --- upd_over_tcp_b --udp payload --- nodeB
git clone https://github.com/gnbdev/opengnb.git
cd opengnb
make -f Makefile.linux install
Nach dem Kompilieren können Sie gnb gnb_crypto gnb_ctl gnb_es -Dateien im opengnb/bin/ Verzeichnis erhalten.
Kopieren Sie gnb gnb_crypto gnb_ctl gnb_es auf Host A bzw. Host B.
Unter der Annahme, dass Host A und Host B in zwei verschiedenen LANs vorübergehend in die Intranet -Verbindungsverbindung eindringen müssen, besteht der schnellste Weg darin, GNB im Lite -Modus zu führen. Im Lite -Modus ist eine asymmetrische Verschlüsselung nicht aktiviert, und nur über Passcode und die Knoten -ID generiert den Verschlüsselungsschlüssel, sodass die Sicherheit viel weniger modular ist als die Arbeit mit asymmetrischer Verschlüsselung.
PassCode ist eine 32-Bit-Hexadezimal-Zeichenfolge mit einer Länge von 8 Zeichen, die als 0xFFFFFFFFFFFF oder FFFFFFFF dargestellt werden kann, unter einem öffentlichen Indexpasscode ist der gleiche GNB-Knoten, der als Knoten auf demselben virtuellen Netzwerk angesehen wird. Bitte wählen Sie einen Passcode aus, der nicht so weit wie möglich mit anderen Benutzern übereinstimmt. Hier wird der Passcode für die Bequemlichkeit der Demonstration als 12345678 ausgewählt und der Parameter **-P ** verwendet, um den Passcode zum Starten des Knotens anzugeben. Verwenden Sie keinen so einfachen Passcode in der tatsächlichen Verwendung, es kann mit anderen Benutzern in Konflikt stehen, die 12345678 als Passcode verwenden und einen Kommunikationsfehler verursachen.
Mit root auf host a ausführen
gnb -n 1001 -I "120.76.206.113/9001" --multi-socket=on -p 12345678
Führen Sie nach dem Erfolg des Startups IP ADDR auf Host A aus, um den Gnb -Knoten -IP zu sehen
3: gnb_do:mtu 1280 qdisc fq_codel state UNKNOWN group default qlen 500
link/none
inet 10.1.0.1/16 scope global gnb_tun
valid_lft forever preferred_lft forever
inet6 64:ff9b::a01:1/96 scope global
valid_lft forever preferred_lft forever
inet6 fe80::402:c027:2cf:41f9/64 scope link stable-privacy
valid_lft forever preferred_lft forever
Mit root auf host b ausführen
gnb -n 1002 -I "120.76.206.113/9001" --multi-socket=on -p 12345678
Führen Sie nach dem Erfolg des Startups IP ADDR auf Host B aus, um den Gnb -Knoten -IP zu sehen
3: gnb_do:mtu 1280 qdisc fq_codel state UNKNOWN group default qlen 500
link/none
inet 10.1.0.2/16 scope global gnb_tun
valid_lft forever preferred_lft forever
inet6 64:ff9b::a01:2/96 scope global
valid_lft forever preferred_lft forever
inet6 fe80::a6cf:9f:e778:cf5d/64 scope link stable-privacy
valid_lft forever preferred_lft forever
Wenn Host A und Host B Nat erfolgreich eindringen und sicherstellen, dass es keine Firewall -Intervention auf dem Host gibt, können sie die virtuelle IP des anderen durchsetzen.
Auf Host a ausführen
root @ hostA: ~ # ping 10.1.0.2
PING 10.1.0.2 (10.1.0.2) 56(84) bytes of data.
64 bytes from 10.1.0.2: icmp_seq=1 ttl=64 time=2.13 ms
64 bytes from 10.1.0.2: icmp_seq=2 ttl=64 time=2.18 ms
64 bytes from 10.1.0.2: icmp_seq=3 ttl=64 time=2.38 ms
64 bytes from 10.1.0.2: icmp_seq=4 ttl=64 time=2.31 ms
64 bytes from 10.1.0.2: icmp_seq=5 ttl=64 time=2.33 ms
Auf Host B ausführen
root @ hostA: ~ # ping 10.1.0.1
PING 10.1.0.1 (10.1.0.1) 56(84) bytes of data.
64 bytes from 10.1.0.1: icmp_seq=1 ttl=64 time=2.34 ms
64 bytes from 10.1.0.1: icmp_seq=2 ttl=64 time=1.88 ms
64 bytes from 10.1.0.1: icmp_seq=3 ttl=64 time=1.92 ms
64 bytes from 10.1.0.1: icmp_seq=4 ttl=64 time=2.61 ms
64 bytes from 10.1.0.1: icmp_seq=5 ttl=64 time=2.39 ms
Der GNB Lite-Modus des oben genannten GNB Lite-Modus verfügt über 5 integrierte Knoten. Wenn Sie mehr Hosts benötigen, um am Netzwerk teilzunehmen, und eine sicherere asymmetrische Verschlüsselungsmethode zum Schutz der Datenkommunikation von GNB verwenden. Lesen Sie die folgenden Dokumente sorgfältig.
Die Rolle des Indexknotens von GNB ähnelt dem Tracker im BT -Protokoll, das von einigen Freiwilligen von GNB -Netzwerk bereitgestellt wird. In den meisten Fällen stellt der index nur den Adressindex für die Hosts im GNB -Netzwerk bereit und überträgt keine Daten für den GNB -Knoten.
Der von einigen Freiwilligen bereitgestellte forward von GNB kann die Datenübertragung für Hosts durchführen, die in extremen Fällen keine Punkt-zu-Punkt-Kommunikation nicht durchführen können, und die asymmetrische Datenverschlüsselung zwischen GNB-Hosts macht es dem forward unmöglich, die übertragenen Daten auszuspionieren.
In extremen Fällen, in denen die Peer-to-Peer-Kommunikation nicht festgelegt werden kann, hängt die Übertragung von Daten über den öffentlichen Netzwerk forward und den vertrauenswürdigen Vorwärtsknoten ab, um Daten zu übertragen, um vollständig von den Einstellungen des Host-Eigentümers am GNB-Knoten des Host-Eigentümers zu übertragen. Selbst in einer äußerst komplexen Netzwerkumgebung kann die überlegene Link -Fähigkeit von GNB jederzeit und überall virtuelle Datenverbindungen herstellen. GNB erstellt sogar mehrere virtuelle Links für Hosts im Netzwerk und wählt den optimalen Geschwindigkeitspfad zum Senden von Datenpaketen aus.
Hier sind die verfügbaren index von Freiwilligen
i|0|101.32.178.3|9001
host to net und net to net -Modi kann GNB Daten für bestimmte Subnetze weiterleiten, unterstützt jedoch keine vollständige Verkehrsdestingsung.GNB unterstützt die OpenWRT -Plattform und muss vom Benutzer zusammengestellt werden.
Das SystemD -Skript wurde von Jin Buguo für das GNB -Projekt hergestellt
Das Atzlinux -Projekt hat ein DEB -Format -Softwarepaket unter Linux für das GNB -Projekt erstellt und es zu dem offiziellen Debian -Softwarepaket beigetragen.
Sie können OpenGNB auf Debian 12 (Bücherwurm) installieren:
apt install opengnbDas AUR -Paket von Arch Linux wurde von Taotieren für das GNB -Projekt hergestellt. Die Installationsmethode ist wie folgt
# install distribution
yay -Sy opengnb
# Install the development version
yay -Sy opengnb-gitWeitere Informationen finden Sie unter https://aur.archlinux.org/packages/opengnb/
https://aur.archlinux.org/packages/opengnb-git/
Laden Sie die kompilierte und veröffentlichte Version von GNB auf jeder Plattform herunter
GNB_UDP_OVER_TCP ist ein für GNB entwickelter Dienst, der UDP -Pakete über den TCP -Link weiterleitet und auch Daten für andere Dienste basierend auf dem UDP -Protokoll weiterleiten kann.
Haftungsausschluss