In den ersten fünf Schritten, die in diesem Artikel beschrieben sind, haben wir ein virtuelles Netzwerk aufgebaut, das drei geografisch getrennte Knoten umfasst. Einer davon befindet sich in einem physischen Netzwerk, die beiden anderen in zwei unterschiedlichen Rechenzentren.
Es hat nicht lange gedauert, obwohl jeder dieser Knoten einzeln zum Netzwerk hinzugefügt wurde. Aber was ist, wenn man nicht nur einen, sondern alle Knoten im physischen Netzwerk mit dem virtuellen ZeroTier-Netzwerk verbinden möchte? Diese Herausforderung stellte sich mir, als ich darüber nachdachte, wie man Zugriff von einem virtuellen Netzwerk auf einen Netzwerkdrucker und einen Router erhält.
Ich habe versucht, die oben beschriebene Methode zu verwenden - es war nicht schnell und nicht überall einfach. Zum Beispiel kann man einen Netzwerkdrucker nicht einfach so anschließen. Mikrotik wird von ZeroTier nicht unterstützt. Was tun? Nach viel Recherche und Analyse bin ich zu dem Schluss gekommen, dass ich ein Netzwerk-Bridge einrichten muss.
Netzwerkbrücke (auch Bridge aus dem Englischen) - ein Netzwerkgerät der Ebene 2 des OSI-Modells, das dazu dient, Segmente (Subnetze) eines Computernetzwerks zu einem einzigen Netzwerk zusammenzuführen.
Die Geschichte, wie ich das gemacht habe, möchte ich in diesem Artikel分享.
Was kostet es uns, eine Brücke zu bauen...
Zunächst musste ich als Administrator festlegen, welcher Knoten im Netzwerk als Brücke fungieren soll. Nach Prüfung der Optionen wurde mir klar, dass jedes Computergerät, das die Möglichkeit zur Einrichtung einer Brücke zwischen Netzwerkinterfaces bietet, in Frage kommt. Dies kann sowohl ein Router – ein Gerät oder , als auch ein gewöhnlicher Server oder Computer sein.
Zunächst habe ich natürlich die Möglichkeit in Betracht gezogen, einen Router mit OpenWRT zu verwenden. Angesichts der Tatsache, dass ich mit dem bestehenden Mikrotik vollkommen zufrieden bin, obwohl er keine Integration mit ZeroTier unterstützt, wollte ich nicht unnötig kompliziert werden, weshalb ich beschlossen habe, als Netzwerkbrücke einen Computer zu verwenden. Genauer gesagt, einen ständig mit dem physischen Netzwerk verbundenen Raspberry Pi 3 Model B, der unter der neuesten Version von Raspbian – einem auf Debian Buster basierenden Betriebssystem – läuft.
Um einen Bridge einzurichten, muss ein ungenutzter Netzwerkinterface verfügbar sein, der von anderen Diensten nicht belegt ist. In meinem Fall war der Haupt-Ethernetanschluss bereits verwendet, also habe ich einen zweiten eingerichtet. Ich habe dafür einen USB-Ethernet-Adapter mit dem RTL8152-Chipsatz von Realtek verwendet.
Nachdem ich den Adapter an einen freien USB-Anschluss angeschlossen, Updates durchgeführt und das System neu gestartet hatte:
sudo apt update && sudo apt upgrade -y
sudo reboothabe ich überprüft, ob das System den USB-Ethernet-Adapter erkennt:
sudo lsusbNach der Analyse der erhaltenen Daten
Bus 001 Device 004: ID 0bda:8152 Realtek Semiconductor Corp. RTL8152 Fast Ethernet Adapter
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubfreute ich mich, dass Device 004 genau mein Adapter war.
Dann habe ich herausgefunden, welcher Netzwerkinterface diesem Adapter zugewiesen ist:
dmesg | grep 8152[ 2.400424] usb 1-1.3: Neues USB-Gerät gefunden, idVendor=0bda, idProduct=8152, bcdDevice=20.00
[ 6.363837] usbcore: neuer Interface-Treiber r8152 registriert
[ 6.669986] r8152 1-1.3:1.0 eth1: v1.09.9
[ 8.808282] r8152 1-1.3:1.0 eth1: Carrier onEs stellte sich heraus eth1 🙂 Ich kann ihn jetzt konfigurieren und das Netzwerk-Bridge anlegen.
Darum habe ich mich nun gekümmert, indem ich dem folgenden Algorithmus gefolgt bin:
- Ich habe die Pakete für die Verwaltung des Netzwerkmastes installiert:
sudo apt-get install bridge-utils - ZeroTier ONE:
curl -s https://install.zerotier.com | sudo bash - mit dem bestehenden ZeroTier-Netzwerk:
sudo zerotier-cli join - Ich habe den Befehl zur Deaktivierung der IP-Adressen- und Routenverwaltung von ZeroTier ausgeführt:
sudo zerotier-cli set allowManaged=0
Dann auf meinem Netzwerkcontroller:
In Networks klickte ich auf Detail, fand und ging zum Link v4AssignMode und deaktivierte die automatische Zuweisung von IP-Adressen, indem ich das Kontrollkästchen abwählte Auto-assign from IP Assignment Pool

Danach habe ich den verbundenen Knoten autorisiert, indem ich einen Namen festlegte und die Kontrollkästchen markierte Autorisierte und Aktive Bridge. Ich habe keine IP-Adresse zugewiesen.

Dann kehrte ich zur Konfiguration des Netzwerkbrückenkontrollers zurück, indem ich die Konfigurationsdatei der Netzwerkinterfaces über das Terminal zum Bearbeiten öffnete:
sudo nano /etc/network/interfacesIn die ich die folgenden Zeilen hinzugefügt habe
auto eth1
allow-hotplug eth1
iface eth1 inet manual
auto br0
allow-hotplug br0
iface br0 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1
network 192.168.0.0
broadcast 192.168.0.255
dns-nameservers 127.0.0.1
bridge_ports eth1 ztXXXXXXXX
bridge_fd 0
bridge_maxage 0 Dabei ist eth1 — der angeschlossene USB-Ethernet-Adapter, dem ich keine IP-Adresse zugewiesen habe.
br0 — eine Netzwerkbrücke mit einer festgelegten permanenten IP-Adresse aus dem Adressbereich meines physischen Netzwerks.
ztXXXXXXXX — der Name des ZeroTier-Virtual-Interfaces, den ich durch den Befehl erfahren habe:
sudo ifconfigNach Eingabe der Informationen habe ich die Konfigurationsdatei gespeichert und die Netzwerddienste mit dem Befehl neu gestartet:
sudo /etc/init.d/networking restartUm die Funktionsfähigkeit der Brücke zu überprüfen, habe ich den Befehl ausgeführt:
sudo brctl show Laut den erhaltenen Daten – die Brücke wurde aktiviert.
Brückenname Brücken-ID STP aktiviert Schnittstellen
br0 8000.00e04c360769 nein eth1
ztXXXXXXXXDanach habe ich den Netzwerkcontroller aufgerufen, um die Route festzulegen.
Dazu habe ich in der Liste der Netzwerk-Knoten auf den Link IP-Zuweisung der Netzwerkbrücke. geklickt. Managed routes. Ich habe die neue Seite erreicht, auf der als Ziels erwähnt wurde 0.0.0.0/0, als Gateway — die IP-Adresse der Netzwerkbrücke aus dem zuvor festgelegten Adressbereich des Unternehmensnetzwerks, in meinem Fall 192.168.0.10

Ich habe die eingegebenen Daten bestätigt und die Netzwerkverbindung der Knoten überprüft, indem ich die Node im physischen Netzwerk von der Node im virtuellen Netzwerk und umgekehrt gepingt habe.
Das ist eigentlich alles!
Im Gegensatz zum Prototypen, von dem die Screenshots gemacht wurden, befinden sich die IP-Adressen der Knoten des virtuellen Netzwerks im gleichen Bereich wie die IP-Adressen der Knoten im physikalischen Netzwerk. Bei einer Bridging-Verbindung beider Netzwerke ist dieses Modell möglich, solange sie sich nicht mit den von dem DHCP-Server vergebenen Adressen überschneiden.
Ich möchte nicht separat auf die Konfiguration des Netzwerkbrücken auf einem Knoten unter MS Windows und anderen Linux-Distributionen eingehen — im Internet gibt es viele Materialien zu diesem Thema. Was die Konfiguration auf der Seite des Netzwerkcontrollers betrifft, so ist sie identisch mit der oben beschriebenen.
Ich möchte nur anmerken, dass der Raspberry PI ein kostengünstiges und praktisches Tool ist, um Netzwerke mit ZeroTier zu verbinden, und zwar nicht nur als stationäre Lösung. Beispielsweise können Outsourcer eine vorgefertigte Netzwerkbrücke basierend auf dem Raspberry PI verwenden, um das physische Netzwerk des betreuten Kunden schnell mit den virtuellen Netzwerken auf Basis von ZeroTier zu verbinden.
An dieser Stelle möchte ich den Erzählstrang abschließen. Ich freue mich auf Fragen, Anregungen und Kommentare – denn genau auf deren Basis werde ich den Inhalt des nächsten Artikels aufbauen. In der Zwischenzeit lade ich Sie ein, Ihr eigenes virtuelles Netzwerk mit einem privaten Netzwerkcontroller mit GUI basierend auf einem VDS aus dem Marktplatz von RUVDS zu organisieren. Zumal für alle neuen Kunden eine kostenlose Testphase von 3 Tagen gilt!
->
->
->
Quelle: habr.com
