NordVPN hat den Code des Linux-Clients und der Bibliotheken mit der Implementierung von MeshNet geöffnet.

Der VPN-Anbieter NordVPN hat die Quelltexte des Clients für die Linux-Plattform, der Netzwerkbibliothek Libtelio und der Bibliothek zur Organisation des Dateiübertragungsdienstes Libdrop veröffentlicht. Der Code ist unter der GPLv3-Lizenz offen. Bei der Entwicklung wurden die Programmiersprachen Go, Rust, C und Python verwendet.

Der Linux-Client bietet eine Kommandozeilenschnittstelle zur Verwaltung der Verbindung zu NordVPN-Servern, ermöglicht die Auswahl eines Servers aus einer Liste unter Berücksichtigung des gewünschten Standorts, ändert die Protokolleinstellungen und aktiviert den Kill-Switch-Modus, der den Netzwerkzugang im Falle eines Verbindungsabbruchs blockiert. VPN-Server. Der Client unterstützt die Verwendung der Protokolle NordLynx (basierend auf WireGuard) und OpenVPN. Für die Änderung der Firewall-Einstellungen wird iptables verwendet, für das Routing iproute, für das Tunneln von Verbindungen tuntap, und zur Namensauflösung in DNS – systemd-resolved. Er unterstützt die Arbeit in den Distributionen Ubuntu, Fedora, Manjaro, Debian, Arch, Kali, CentOS und Raspbian.

Die Bibliothek Libtelio umfasst gängige Netzwerkfunktionen und bietet eine Implementierung des virtuellen Netzwerks MeshNet, das aus Benutzersystemen gebildet wird und für deren Verbindung untereinander verwendet wird. MeshNet ermöglicht das Einrichten von verschlüsselten Tunneln zwischen Geräten und schafft damit eine Art separater lokaler Netzwerke. Im Gegensatz zu VPNs werden Verbindungen in MeshNet nicht zwischen einem Gerät und einem VPN-Server, sondern zwischen Endgeräten hergestellt, die ebenfalls als Knoten zur Traffic-Routierung dienen.

Für das gesamte MeshNet kann ein gemeinsamer Server festgelegt werden, um mit der Außenwelt zu interagieren (z. B. wenn der ausgehende Knoten beim Benutzer zu Hause ist, dann wird unabhängig von den Reisen und Orten, an denen der Benutzer mit den an MeshNet angeschlossenen Geräten ins Internet geht, die Netzwerkaktivität für externe Dienste so aussehen, als würde sich der Benutzer von zu Hause aus verbinden. IP-Adressen).

Zur Verschlüsselung des Traffics in MeshNet können verschiedene Implementierungen von Wireguard verwendet werden. Als ausgehende Knoten können sowohl VPN-Server als auch Benutzerknoten innerhalb von MeshNet fungieren. Für die Verkehrssteuerung innerhalb des Netzwerks steht ein anpassbarer Paketfilter zur Verfügung, und zur Bestimmung der Hosts wird ein DNS-basierter Dienst verwendet. Die veröffentlichte Bibliothek ermöglicht die Organisation eigener MeshNet-Netzwerke in eigenen Anwendungen.

Die Bibliothek Libdrop bietet Funktionen für den sicheren Austausch von Dateien zwischen den Geräten des Nutzers. Direktes Senden und Empfangen von Dateien über MeshNet oder das globale Netzwerk wird unterstützt, ohne auf externe Server zurückzugreifen.

Quelle: opennet.ru

60GB SSD 8Gb DDR4