Wie man ein leichtgewichtiges P2P-Mesh-VPN mit Tinc erstellt

Tinc ist ein leistungsstarker Open-Source-VPN-Adapter, der die einfache Erstellung flexibler P2P-Mesh-Netzwerke über verschiedene Betriebssysteme hinweg ermöglicht.
Tinc ist ein Open-Source Virtual Private Network (VPN) Adapter, der eine einfache Möglichkeit bietet, ein privates Peer-to-Peer (P2P) Mesh-Netzwerk unter Linux, Windows und macOS zu erstellen. Ähnlich wie OpenVPN und Wireguard kann es mehrere Computer in unterschiedlichen Netzwerk-Topologien zu einem einzigen virtuellen LAN verbinden. Hier zeigen wir Ihnen die Vorteile der Verwendung von Tinc und wie Sie ein einfaches auf Tinc basierendes Mesh-Netzwerk installieren und erstellen.
Warum Tinc statt Wireguard und OpenVPN verwenden?
Ein einzigartiges Verkaufsargument von Tinc im Vergleich zu anderen VPN-Daemons ist, dass es als Mesh-Netzwerk konzipiert ist. Das bedeutet, dass es sich im Gegensatz zu Wireguard leicht an Änderungen der Netzwerkbedingungen anpassen kann. Das macht es widerstandsfähiger, insbesondere für Computer mit einer schlechten Netzwerkverbindung.
Darüber hinaus bietet Tinc die meisten Funktionen, die man von einem traditionellen VPN wie OpenVPN erwarten würde. Dazu gehört die Fähigkeit, NAT-Umgebungen zu durchqueren, verschlüsselte Tunnel zu erstellen und LAN-exklusive Anwendungen zu verknüpfen.
Schließlich strebt Tinc auch an, jede Verbindung, die Sie innerhalb des Netzwerks herstellen, P2P zu gestalten. Dies könnte entweder durch automatische Peer-Erkennung oder durch Koordination mit einem öffentlich zugänglichen Tinc-Server geschehen. Infolgedessen sind Verbindungen innerhalb eines Tinc VPN nicht nur widerstandsfähig, sondern auch schnell und reaktionsschnell.
Gut zu wissen: Noch unschlüssig, welches VPN Sie wählen sollen? Werfen Sie einen Blick auf unseren Artikel, in dem wir vergleichen, wie sich Wireguard und OpenVPN schlagen.
Tinc auf Linux installieren
Der erste Schritt zur Installation von Tinc besteht darin, sicherzustellen, dass Ihr System auf dem neuesten Stand ist. Unter Ubuntu führen Sie den folgenden Befehl aus:
sudo apt update && sudo apt upgrade -y
Laden Sie Tinc direkt aus den Paket-Repositories von Ubuntu herunter und installieren Sie es:
sudo apt install tinc
Um Tinc auf anderen Linux-Distributionen zu installieren, verwenden Sie den entsprechenden Paket-Manager für dieses System. Zum Beispiel muss ich sudo dnf install tinc
ausführen, um das Programm auf Fedora zu beziehen.
Bestätigen Sie, dass Sie Tinc ordnungsgemäß installiert haben, indem Sie eine Terminal-Sitzung öffnen und tincd --version
ausführen.
Ein einfaches Mesh-Netzwerk mit Tinc erstellen
Mit Tinc auf Ihrem Rechner können Sie nun Ihr erstes Tinc-basiertes Netzwerk konfigurieren. Erstellen Sie einen neuen Ordner unter „/etc/tinc“. Dieser enthält alle Dateien, die mit Ihrem Tinc-Knoten verbunden sind:
sudo mkdir -p /etc/tinc/mynetwork/hosts
Erstellen Sie eine neue Konfigurationsdatei mit Ihrem bevorzugten Texteditor:
sudo nano /etc/tinc/mynetwork/tinc.conf
Fügen Sie den folgenden Block von Code in Ihre neue Konfigurationsdatei ein:
Name = mynode Device = /dev/net/tun
Hinweis: Einige Linux-Distributionen könnten den Speicherort des TUN-Adapters in „/dev“ ändern. Um den genauen Pfad für Ihr System zu finden, führen Sie aus:
find /dev -name *tun* -type c
Erstellen Sie eine Textdatei im „hosts“-Ordner mit dem Namen Ihres Tinc-Knotens und fügen Sie Folgendes ein:
Subnet = 192.168.11.1/32 Address = IHRE-MASCHINE-IP-ADRESSE-HIER Port = 655
Ersetzen Sie den Wert der Variablen „Address“ durch die IP-Adresse Ihrer Maschine. Sie können dies herausfinden, indem Sie ip addr
ausführen.
Hinweis: Sie müssen die öffentliche IP-Adresse Ihrer Maschine angeben, wenn Sie ein öffentlich zugängliches VPN erstellen möchten.
Speichern Sie die Hosts-Datei Ihrer Maschine und erstellen Sie dann zwei Dateien unter „/etc/tinc/mynetwork:“
sudo touch /etc/tinc/mynetwork/tinc-{up,down} sudo chmod +x /etc/tinc/mynetwork/tinc-(up,down}
Öffnen Sie die Datei „tinc-up“ und fügen Sie den folgenden Bash-Code ein. Dies erstellt die virtuelle Netzwerk-Schnittstelle für Tinc und weist dieser Schnittstelle die IP-Adresse zu:
#!/bin/sh ip link set $INTERFACE up ip addr add 192.168.11.1/32 dev $INTERFACE ip route add 192.168.11.0/24 dev $INTERFACE
Speichern Sie die Datei, öffnen Sie dann die Datei „tinc-down“ und fügen Sie auch Folgendes ein. Dies führt das Gegenteil von „tinc-up“ aus: Es entzieht der Tinc-Schnittstelle die IP-Adresse und entfernt diese Schnittstelle von Ihrer Maschine:
#!/bin/sh ip route del 192.168.11.0/24 dev $INTERFACE ip addr del 192.168.11.1/32 dev $INTERFACE ip link set $INTERFACE down
Generieren Sie ein Schlüsselpaar für Ihren Tinc-Knoten, indem Sie tincd ausführen:
sudo tincd -n mynetwork --generate-keys=4096
Drücken Sie zweimal Enter, um den Standardspeicherort für sowohl private als auch öffentliche Schlüssel auf Ihrem Tinc-Knoten zu akzeptieren.
Den ersten Tinc-Client hinzufügen
Um einen neuen Tinc-Client hinzuzufügen,.
Beginnen Sie damit, sicherzustellen, dass Sie Tinc ordnungsgemäß auf Ihrem zweiten Gerät installiert haben.
Erstellen Sie die Verzeichnisstruktur für Ihre Tinc-Konfiguration mit mkdir -p
.
Verwenden Sie Ihren bevorzugten Texteditor, um die Konfigurationsdatei für Ihren Tinc-Client zu erstellen:
sudo nano /etc/tinc/mynetwork/tinc.conf
Fügen Sie die folgenden Zeilen in die Konfigurationsdatei Ihres zweiten Geräts ein:
Name = myclient Device = /dev/net/tun ConnectTo = mynode
Erstellen Sie eine Datei mit dem Namen Ihres Tinc-Geräts unter „/etc/tinc/mynetwork/hosts.“ In diesem Fall habe ich mein zweites Gerät „myclient“ genannt, also erstelle ich eine Datei mit dem Namen „myclient“:
sudo nano /etc/tinc/mynetwork/hosts/myclient
Fügen Sie den folgenden Codeblock in Ihre neue Hostdatei ein. Ähnlich wie bei Ihrem ersten Knoten legt dies die Netzwerkkonfiguration Ihres Tinc-Daemons fest:
Subnet = 192.168.11.2/32 Port = 655
Speichern Sie Ihre neue Hostdatei und erstellen Sie dann ein „tinc-up“ und „tinc-down“ Skript auf Ihrem zweiten Gerät:
sudo touch /etc/tinc/mynetwork/tinc-{up,down} sudo chmod +x /etc/tinc/mynetwork/tinc-{up,down}
Öffnen Sie die tinc-up Datei mit Ihrem bevorzugten Texteditor und fügen Sie den folgenden Codeblock ein:
#!/bin/sh ip link set $INTERFACE up ip addr add 192.168.11.2/32 dev $INTERFACE ip route add 192.168.11.0/24 dev $INTERFACE
Speichern Sie Ihre tinc-up Datei, öffnen Sie dann tinc-down und fügen Sie auch die folgenden Zeilen in diese Datei ein:
#!/bin/sh ip route del 192.168.11.0/24 dev $INTERFACE ip addr del 192.168.11.2/32 dev $INTERFACE ip link set $INTERFACE down
Schließen Sie Ihre Tinc-Client-Konfiguration ab, indem Sie dessen Schlüsselpaare generieren:
sudo tincd -n mynetwork --generate-keys=4096
Ausführen des Tinc-Mesh-Netzwerks
Zu diesem Zeitpunkt haben Sie nun zwei richtig konfigurierte Tinc-Daemons. Sie müssen jedoch diese beiden Tinc-Daemons verbinden, um Ihr P2P-VPN in Linux zu erstellen. Dazu müssen Sie die Hostkonfigurationsdatei von Ihrem Tinc-Knoten an Ihren Client und umgekehrt kopieren.
Beginnen Sie, indem Sie die Terminal-Sitzung Ihres Knotens öffnen und zu dem Verzeichnis „/etc/tinc/mynetwork/hosts“ navigieren:
cd /etc/tinc/mynetwork/hosts
Kopieren Sie die Konfigurationsdatei in diesem Verzeichnis und übertragen Sie sie an Ihren Client. In meinem Fall werde ich scp verwenden, um diese Datei über ssh zu senden:
scp ./mynode YOUR-CLIENT-IP-ADDRESS:~
Hinweis: Während ich scp in diesem Beispiel verwendet habe, können Sie sie auch manuell über USB-Sticks übertragen.
Gehen Sie zu Ihrem Client-Gerät und kopieren Sie die Hostdatei, die Sie gerade an den Ordner „/etc/tinc/mynetwork/hosts“ des Clients übertragen haben:
sudo cp -v ~/mynode /etc/tinc/mynetwork/hosts/
Führen Sie danach scp auf der Client-Seite aus, um seine Hostdatei zurück an Ihren Knoten zu übertragen:
scp /etc/tinc/mynetwork/hosts/myclient YOUR-NODE-IP-ADDRESS:~
Kopieren Sie die Hostdatei Ihres Clients in das Hostverzeichnis Ihres Knotens:
sudo cp ~/myclient /etc/tinc/mynetwork/hosts/
Übrigens: Sorgen Sie sich um Ihre persönliche Privatsphäre im Internet? Erfahren Sie, wie Sie die Privatsphäre und Sicherheit Ihres Linux-PCs verbessern können.
Starten des Tinc-Mesh-Netzwerks
Starten Sie Ihr vollständig konfiguriertes Tinc-Netzwerk, indem Sie den folgenden Befehl auf jedem Ihrer Hosts ausführen:
sudo tincd -n mynetwork
Bestätigen Sie, dass Sie über die Tinc-Schnittstelle mit Ihren Knoten kommunizieren können, indem Sie einen einfachen Ping durchführen:
ping -c 5 192.168.11.2
Zuletzt aktivieren Sie den Tinc-Dienst, um sicherzustellen, dass Ihr VPN beim Systemstart funktioniert:
sudo systemctl enable --now tinc@mynetwork.service
Zu lernen, wie man sein eigenes P2P-Mesh-VPN in Linux mit Tinc erstellt, ist nur der erste Schritt in die wunderbare Welt der Computervernetzung. Tauchen Sie tief in die Feinheiten dieser Technologie ein, indem Sie unseren umfassenden Überblick über VPNs ansehen.
Häufig gestellte Fragen von unseren Lesern
Wie funktioniert Tinc VPN?
Tinc VPN ist ein leistungsstarker Virtual Private Network (VPN)-Daemon, der die folgenden Hauptfunktionen bietet:
- -
Tunneling
- : Tinc ermöglicht es, Netzwerkpakete sicher zwischen verschiedenen Hosts zu übertragen, indem es virtuelle Netzwerke erstellt, die über das Internet verbunden sind.
- Verschlüsselung: Es verwendet starke Verschlüsselungstechniken, um die Daten vor unbefugtem Zugriff zu schützen und die Privatsphäre der Benutzer zu gewährleisten.
- Peer-to-Peer-Netzwerk: Im Gegensatz zu herkömmlichen VPNs arbeitet Tinc nach dem Peer-to-Peer-Prinzip, was bedeutet, dass jeder Knoten im Netzwerk direkt mit anderen Nutzern kommunizieren kann. Dies verbessert die Effizienz und Flexibilität des Netzwerks.
- Dynamische Konfiguration: Tinc ermöglicht die automatische Erkennung neuer Hosts und deren Integration ins Netzwerk, was die Verwaltung wesentlich vereinfacht.
- Plattformunabhängigkeit: Tinc ist plattformübergreifend und kann auf verschiedenen Betriebssystemen eingesetzt werden, was es zu einer vielseitigen Lösung für die Erstellung privater Netzwerke macht. Zusammengefasst hilft Tinc VPN Benutzern dabei, ein sicheres und privates Netzwerk zu erstellen, das durch dessen Flexibilität und Benutzerfreundlichkeit besticht. Es ist eine freie Software, die unter der GNU General Public License Version 2 oder höher verfügbar ist, wodurch es für viele Anwendungen und Benutzer attraktiv ist.
Schreibe einen Kommentar