Wie man Zombies mit ZeroTier effizienter tötet



Sie haben einen Server unter dem Bett, ein intelligentes Haus auf dem Land und eine IP-Kamera in der Garage. Wie vereinige ich sie alle in einem Netzwerk, um Zugriff auf alle Geräte zu erhalten? In solchen Situationen ist es üblich, ein VPN zu verwenden, aber es gibt eine effektivere Lösung - ZeroTier. Es erstellt ein Peer-to-Peer-Netzwerk (P2P) zwischen Geräten, während die Konfiguration viel einfacher ist als bei einem VPN.

Wir haben bereits eine Reihe von Artikeln über die Organisation eines P2P-Netzwerks für die Remotebenutzerunterstützung veröffentlicht. Darin haben wir die Möglichkeit in Betracht gezogen, mit ZeroTier ein dezentrales virtuelles Netzwerk aufzubauen. Im Gegensatz zu herkömmlichen VPN-Lösungen fehlt ZeroTier ein zentraler Verwaltungsserver, und eine Verbindung wird direkt zwischen Geräten hergestellt.

Ich benutze ZeroTier oft in zwei Fällen: Stellen Sie eine Verbindung zu Client-Geräten her, um Unterstützung zu bieten und Zombies in Shootern zu töten. Es wurde für mich interessant, alternative Verbindungsarten in einem lokalen Netzwerk zu vergleichen.

Wenn Sie das Prinzip von ZeroTier verstehen möchten, haben wir einen ausführlichen Artikel mit Analyse veröffentlicht .

RDP-Verbindung für Remote-Support


Fast jeden Tag muss ich mich mit einem Kunden verbinden , um eine Maschinenrebellion zu unterdrücken und etwas zu lösen. Bei einer Pandemie sind dies Kollegen, die von zu Hause aus arbeiten. 

Um mit den internen Diensten des Unternehmens arbeiten zu können, ist eine Authentifizierung über das Unternehmensnetzwerk erforderlich, und auf dem Office-Router wurde lange Zeit ein VPN eingerichtet, falls Sie irgendwo etwas aus der Ferne tun müssen. 

Für mich ist es nicht schwierig, eine Verbindung herzustellen und einige Routen im System zu registrieren, aber für den durchschnittlichen Benutzer war es mühsam. Sobald sich die Notwendigkeit einer einfachen Lösung ergab, die es dem betroffenen Benutzer ermöglicht, problemlos auf seinen Computer zuzugreifen.

Ich habe damals aus Einschränkungen und Kosten nicht einmal an Teamviewer oder Radmin gedacht. Darüber hinaus bin ich ein Unterstützer der orthodoxen EPLR, nicht von Drittanbietern. Ich wollte, dass die Lösung bei der Implementierung so einfach wie möglich ist und die Person ein Minimum an Maßnahmen benötigt. Und da ich mir nicht nur Sorgen um die Mitarbeiter meiner einheimischen, geliebten Firma mache und manchmal auch Charakteren von Drittanbietern helfe, wäre es falsch, einen Unternehmens-VPN-Server zu verwenden.

Was habe ich mit ZeroTier verglichen?


Im Netzwerk finden Sie mehrere einfache Lösungen für die Implementierung eines virtuellen Netzwerks:

  • Tunngle, das nicht mehr funktioniert;
  • Evolve, das mit Player.me verschmolzen ist;
  • Hamachi;
  • Radmin VPN
  • Und ZeroTier, das wir direkt auf dem Markt haben .

Ich wollte den Client bitten, eine der oben genannten Software zu installieren, das folgende Skript herunterzuladen und auszuführen, um RDP zu aktivieren:

# Execute with Administrator rights
$path = $MyInvocation.MyCommand.Path
if ($args[0] -ne $null) {
$path = $args[0]
}
$path = Split-Path -Path $path

$windowsID = [System.Security.Principal.WindowsIdentity]::GetCurrent()
$windowsPrincipal = New-Object System.Security.Principal.WindowsPrincipal($windowsID)
$adminRole=[System.Security.Principal.WindowsBuiltInRole]::Administrator
if ($windowsPrincipal.IsInRole($adminRole)) {
$Host.UI.RawUI.WindowTitle = $myInvocation.MyCommand.Definition + "(Elevated)"
$Host.UI.RawUI.BackgroundColor = "DarkBlue"
clear-host
}
else {
$newProcess = New-Object System.Diagnostics.ProcessStartInfo "PowerShell";
$newProcess.WorkingDirectory = $path;
$newProcess.Arguments = $myInvocation.MyCommand.Definition;
$newProcess.Verb = "runas";
[System.Diagnostics.Process]::Start($newProcess);
exit
}

# Set RDP enabled
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" –Value 0

# Create firewall rule
New-NetFirewallRule -DisplayName "Remote Desktop Allow TCP" -Program "%SystemRoot%\system32\svchost.exe" -Action Allow -Protocol TCP -LocalPort 3389 -Direction Inbound -Enabled True
New-NetFirewallRule -DisplayName "Remote Desktop Allow UDP" -Program "%SystemRoot%\system32\svchost.exe" -Action Allow -Protocol UDP -LocalPort 3389 -Direction Inbound -Enabled True

# Add user to RDU group
$User = $env:USERNAME
Add-LocalGroupMember -SID "S-1-5-32-555" -Member $User


Parameter zur Auswertung jedes Programms


Ich habe alle Lösungen anhand von Parametern bewertet:

  • Die Geschwindigkeit der Dateiübertragung über ein lokales Netzwerk;
  • Einfach zu installieren, zu konfigurieren und zu verwenden;
  • Kosten und Einschränkungen;
  • Funktionell;
  • Spiel (mehr dazu am Ende).

Meine Einschätzung für jeden Parameter ist subjektiv und kritisch. Daher habe ich mich auf die Parameter konzentriert, die durch Tests gemessen werden können.

Hamachi


Zum Zeitpunkt des Schreibens wurde im März 2019 die neueste Version des Programms LogMeIn Hamachi für Windows 2.2.0.633 veröffentlicht. Die kostenlose Version ist auf 5 gleichzeitige Verbindungen zum selben Netzwerk begrenzt. Die Kosten für die Vollversion beginnen bei 49 USD pro Jahr.

Um loszulegen, benötigen Sie:

  • Registrieren Sie sich im Service;
  • Software installieren
  • Erstellen Sie eine fertige Netzwerkverbindung oder stellen Sie eine Verbindung zum fertigen Netzwerk her.

Um die Geschwindigkeit der Dateiübertragung abzuschätzen, habe ich CrystalDiskMark verwendet, Lese- / Schreibtests in Ordnern durchgeführt, die zuvor für das lokale Netzwerk freigegeben wurden, und einfach eine große Datei kopiert.

Da alle Tests auf zwei PCs mit derselben Konfiguration durchgeführt werden (in jedem Test dasselbe Laufwerk, dieselben Systemeinstellungen usw.), sollten die CrystalDiskMark-Ergebnisse eine Vorstellung von der Datenübertragungsgeschwindigkeit geben.

Hinweis: Nachdem ich den Artikel geschrieben hatte, bezweifelte ich, dass ich die beste Lösung zum Testen ausgewählt hatte. Ich denke, in den Kommentaren wird ein besserer Ansatz vorgeschlagen.

Zeitergebnis: Das Kopieren einer 9-GB-Datei dauerte genau 21 Minuten.



CrystalDiskMark-Ergebnisse.



Der Ping zwischen den PCs überschritt 10 ms nicht.



Radmin VPN


Die neueste Version von „Radmin VPN 1.1.3969.3“ wurde im Dezember 2019 veröffentlicht. Dies ist eine völlig kostenlose Anwendung mit minimalistischem Design und erfordert nicht einmal eine Registrierung.

Alles was Sie brauchen ist:

  • Herunterladen;
  • Installieren;
  • Stellen Sie eine Verbindung zum Netzwerk her.
  • Iss einen Donut.

Die Geschwindigkeit der Dateiübertragung ist erheblich niedriger als die von Hamachi. 9 GB wurden gut 43 Minuten übertragen.



Die CrystalDiskMark-Ergebnisse sind ebenfalls niedriger als bei Hamachi.



Ping: 10-11 ms.



Ohne den verzehrten Donut wären die Ergebnisse möglicherweise anders. Bei der Verbindung über RDP gab es keine besonderen Probleme.

ZeroTier


Dies ist ein einzigartiges Open Source-Projekt:

  • Es ist als Public Cloud-Lösung verfügbar.
  • Bereitgestellt vom SaaS-Modell;
  • Er hat vier Abonnements.

Außerdem werde ich eine Open-Source-Lösung eines Drittentwicklers in Betracht ziehen: die ZeroTier-Netzwerkcontroller-Benutzeroberfläche .

Das Prinzip seiner Arbeit haben wir in diesem Artikel bereits ausführlich untersucht . Ich werde nur die Hauptfunktionen auflisten, die es so interessant machen:

1. Da es sich um ein P2P-Netzwerk handelt, wird der Datenverkehr nicht über den Knoten geleitet, den wir ausgelöst haben, sondern direkt von Gerät zu Gerät. Der Knoten wird ausschließlich für die Erstverbindung benötigt. Außerdem ist er nicht an der Arbeit beteiligt. Der Knoten kann vollständig ausgeschaltet werden, die Verbindung wird nicht getrennt. Dies ist nur erforderlich, wenn die Verbindung wiederhergestellt wird.

2. Der Knoten beansprucht keine Ressourcen. Es läuft leise auf unserem billigsten VPSfür 130 p. pro Monat (oder 30 Rubel, wenn Sie den gleichen Tarif erhalten haben).

3. Die Anzahl der Benutzer und Netzwerke ist unbegrenzt: Sie können Ihren gesamten Universitätsstrom verbinden und ein Treffen der Klassenkameraden im Gegenstreik vereinbaren.

Um einen Knoten zu erstellen, müssen wir den VPS mit der Serverseite der Anwendung erhöhen. Das Verfahren ist auch beschrieben worden zuvor .

Der Client-Teil von ZeroTier One hat ein minimalistisches Design und einen sehr bescheidenen Satz von Parametern. Wir müssen dem Benutzer nur die ID unseres Knotens senden und diese autorisieren.



9 GB flogen 20 Minuten lang. Etwas schneller als Hamachi.



CrystalDiskMark zeigte auch etwas höhere Werte.



Ping sprang wie überall etwa 10 ms.



Fall 2: Gönnen Sie sich eine kulturelle Entspannung an einem schwachen Büro-PC


ZeroTier bietet eine weitere Möglichkeit - die mittlerweile beliebte Möglichkeit, das Spiel auf ein anderes Gerät zu streamen (a la GeForce Now). Hierfür gibt es drei Alternativen zu ZeroTier: RDP, Parsec und Moonlighrt. Testen wir sie.

▍ RDP


Leider nicht dafür angepasst. Die meisten Spiele, die ich getestet habe, haben sich einfach geweigert, normal zu funktionieren. Entweder stürzte aufgrund der Inkompatibilität des Videotreibers ab oder reagierte einfach nicht auf die Steuerung.

▍ Parsec


Dies ist eine spezielle kostenlose Software zum Übertragen von Videos zwischen PCs mit Schwerpunkt auf extrem geringer Latenz. Im Gegensatz zu Teamviewer oder Radmin ist Parsec in der Lage, stabile 60 FPS in FullHD-Bildern relativ bequem zu übertragen (um nicht immer wieder ein Drakeface zu erhalten).



Für eine komfortable Verwendung wird empfohlen, dass der Host über eine Kabelverbindung mit einer Geschwindigkeit von mindestens 30 Mbit / s verfügt.

In den allermeisten Spielen können Sie bequem spielen, ohne dass eine hohe Eingangsverzögerung auftritt. Leider leidet die Bildqualität. Aufgrund von Komprimierungsmethoden wird das Bild auf kontrastierenden Elementen in Pixel unterteilt und es schmerzt die Augen sehr. FPS-abhängige Spiele wie Schützen können nicht mit dem richtigen Komfort gespielt werden. Die Eingangsverzögerung ist zwar gering, aber von Zeit zu Zeit ist ein gewisses Zucken des Bildes festzustellen, was zwar die Treffsicherheit nicht beeinträchtigt, aber ärgerlich ist.

Was Parsec in anderen Lösungen genau übertrifft, ist eine lokale Zusammenarbeit. Aufgrund der Tatsache, dass Sie mit Parsec einfach das Bild des Monitors freigeben können, ist es problemlos möglich, ein Koop-Spiel in jedem Gebietsschema zu spielen. Außerdem spielt der Abstand zwischen Ihnen keine Rolle. Ich habe es genossen, mit einem Freund aus Nowosibirsk Cuphead zu spielen und hatte keine Probleme mit der Reaktion.

Parsec ist auch gut in der täglichen Arbeit. Es ist schneller, überträgt ein besseres Bild als Teamviewer und hat keine Begrenzung für die Anzahl der Remote-Desktops. Für solche Zwecke verwende ich jedoch immer RDP, kitschig für das eingebaute Betriebssystem und die Fähigkeit, lokale Laufwerke weiterzuleiten.

▍ Mondschein


Dies ist Open Source, eine völlig kostenlose Lösung für Remote-Spiele.
Ich werde ihre Seite zitieren:
Moonlight (ehemals Limelight) ist eine Open-Source-Implementierung des NVIDIA GameStream-Protokolls. Wir haben das von NVIDIA Shield verwendete Protokoll implementiert und eine Reihe von Clients von Drittanbietern geschrieben.

Die offensichtlichste und wichtigste Errungenschaft von Moonlight ist die Möglichkeit, 4K-Videos mit 120 oder mehr FPS ohne Verzögerungen zu übertragen.

Moonlight funktioniert nur, wenn auf dem Hostcomputer eine Nvidia-Karte installiert ist. Dies liegt an der Tatsache, dass das Projekt NVIDIA Shield emuliert und direkt mit dem Treiber zusammenarbeitet. Auf diese Weise können Sie 4K 120FPS ohne Verzögerung in einem lokalen Netzwerk senden.

Darüber hinaus ist der zweite Nachteil von Moonlight die Unfähigkeit, im Internet zu spielen, ohne zusätzlich mit einem Tamburin zu tanzen.

▍ Mondschein + Hamachi


Leider habe ich keine Capture-Karte und kann den Monitor am Telefon einfach nicht entfernen. Daher müssen Sie entweder meinen Worten glauben oder jede Lösung unabhängig testen. Die Bandbreite von Hamachi reicht für ein komfortables Spiel mit 2K 60-120FPS. Mit zunehmender Auflösung werden die Mikrofrostgefühle deutlich stärker.

Es ist möglich, FPS-abhängige Spiele zu spielen, aber hier und da kann das Spiel für eine Viertelsekunde einfrieren. Parsec ist immer noch besser darin, Verzögerungen zu minimieren. Es verliert jedoch an Bildqualität. Hier liegt es an Ihnen, zu entscheiden, was wichtiger ist: die minimale Eingangsverzögerung und Bildartefakte oder das perfekte Bild, aber Mikrofriese?

▍ Moonlight + Radmin VPN


Radmin VPN verhielt sich genauso wie bei Kunststoffen. Relativ angenehm zu spielen, stellte sich heraus, nur in FullHD und 60FPS. Die Auflösung oben führte zu einer unerträglichen Diashow. Und von Zeit zu Zeit fror das Bild 2 Sekunden lang vollständig ein. Leider erwies sich dieser Haufen als der schlimmste.

▍ Moonlight + ZeroTier


Und jetzt haben wir ein leckeres Paar. Selbstverständlich empfiehlt das offizielle Moonlight-Repository ZeroTier speziell für den Aufbau einer P2P-Verbindung. Ich habe es buchstäblich versäumt, das Gameplay eines remote gestarteten Spiels vom Start auf einem lokalen PC zu unterscheiden. Alle deklarierten Moonlight-Funktionen funktionieren. Es ist schade, dass mein Freund aus Nowosibirsk eine AMD-Karte hatte und in derselben Stadt testen musste, um seinen Bruder anzurufen (dies ist der Norden und Süden von Moskau).

Das Bild hat eine weiche Auflösung von bis zu 4K und ist ohne Bremsen. Die Reaktion auf das Drücken ist sofort, Sie können Schützen wie diesen spielen. Vielleicht ist dieses Bundle die beste Option für Cloud-Spiele.

Ergebnisse


ZeroTier ist möglicherweise die beste und kostengünstigste Lösung für den schnellen Aufbau von Peer-to-Peer-Netzwerken. Ja, seine Funktionalität ermöglicht es Ihnen nicht, komplexe Netzwerke aufzubauen, und bietet keinen Zugriff auf die gesamte Vielfalt der Einstellungen des klassischen L2TP / IPsec. Dies ist jedoch bei einfachen Aufgaben nicht immer erforderlich.

Parsec ist wahrscheinlich die einzige Option, um Spiele aus der Ferne zu spielen, die eine lokale Genossenschaft oder einen geteilten Bildschirm unterstützen (ich erinnerte mich sofort an Liebhaber in einer gefährlichen Raumzeit). Es ist nicht an eine bestimmte Technologie physischer Geräte gebunden und erfordert keine zusätzlichen Netzwerkeinstellungen. Die Bildqualität kann jedoch erheblich beeinträchtigt werden. Da keine Verbindung zum Remote-PC mit normalen Methoden hergestellt werden kann, eignet es sich für eine schnelle Computerunterstützung.

Mondlicht- Wenn Ihre Nvidia-Karte auf Ihrem Gaming-PC installiert ist, ist Moonlight + ZeroTier ein ideales Paar für Remote-Spiele. ZeroTier löst das Problem, ein virtuelles Netzwerk einfach und elegant einzurichten. Dank der Emulation von Nvidia Shield können Sie mit Moonlight atemberaubende Bilder ohne Verzögerung übertragen. Es erlaubt keine Remote-PC-Konfiguration, aber ich habe oben andere Lösungen beschrieben.


All Articles