Für eine OpenVPN-Verbindung muss ein Ende ein Client und das andere ein Server sein.
Daher müssen Sie Ihr Netz manuell erstellen und sicherstellen, dass jeder Knoten eine Serverkonfiguration und eine Clientkonfiguration aufweist. Jeder Knoten muss zwei OpenVPN-Instanzen ausführen, eine für den Client und eine für den Server.
OpenVPN unterstützt die Werbung für Routen, die hinter der von ihm erstellten virtuellen Schnittstelle verfügbar sind. Auf diese Weise können Sie dafür sorgen, dass die OpenVPN-Knoten den für diesen Knoten nicht bestimmten Datenverkehr an einen anderen Knoten weiterleiten. Auch dies müssen Sie manuell mit einrichten iroute
Anweisungen in Ihren Konfigurationsdateien.
In jeder Konfigurationsdatei können Sie mehrere Server angeben, zu denen ein Client eine Verbindung herstellen soll. Sie können also für jede Konfigurationsdatei mehrere Eintrittsknoten angeben.
Um dies richtig zu machen, müssen Sie für jedes Client- und Server-Paar eine Zertifizierungsstelle einrichten. Sie können Kompromisse eingehen und eine einzige Zertifizierungsstelle für das gesamte Netz einrichten. Sie können weitere Kompromisse eingehen und nur Passwörter eingeben, benötigen jedoch weiterhin Zertifikate für die Serveridentifikation.
Um wirklich sicher zu sein, benötigen Sie ein weiteres internes virtuelles Netzwerk, auf das externe Clients nicht direkt zugreifen können, auf das sie jedoch zugreifen können, sobald sie sich im virtuellen Netzwerk befinden.
Viel Arbeit, um alles im Auge zu behalten, aber durchaus möglich.
Wenn die Clients dem Server nicht vertrauen sollen, müssen sie über den Server mit Verschlüsselung kommunizieren. Sie könnten so weit gehen, dass Tor auf jedem Server intern in diesem Mesh-Netzwerk ausgeführt wird. Eine direkte Korrelation zwischen einem Knoten und einem Dienst wäre dann schwierig.