Weiterleiten von Datenverkehr von der Netzwerkschnittstelle an eine Zerotier-Schnittstelle

Weiterleiten von Datenverkehr von der Netzwerkschnittstelle an eine Zerotier-Schnittstelle

Umfeld

  • Ubuntu 18.04.3 LTS
  • ZeroTier 1.4.6 (neuestes stabiles Paket)
  • Wine 4.17 (neuestes Entwicklungspaket)

Ich versuche, eine Red Alert 3-LAN-Sitzung (mit Wine) auf meinem System zu hosten und möchte Zerotier verwenden, da ich mich hinter einem CGNAT-Setup befinde.

Zerotier funktioniert einwandfrei, wenn es um die Verbindung mit anderen Systemen im selben (Zerotier-)Netzwerk geht. Aber ich kann andere Spieler in der Netzwerklobby nicht sehen. Mithilfe von Wireshark konnte ich feststellen, dass die UDP-Pakete, die RA3 für die ordnungsgemäße Funktion benötigt, nur über die LAN-Schnittstelle übertragen und überhaupt nicht an die Zerotier-Netzwerkschnittstelle weitergeleitet wurden.

Bei meinem nächsten Versuch habe ich Wine mithilfe eines Tools zur Verwendung der Zerotier-Schnittstelle gezwungen.

  1. kleines Bind-Programm in C, das Sie mit LD_PRELOAD laden können
  2. Verwenden eines Skripts zum Erstellen von Namespaces und zum Binden von Schnittstellen daran
  3. mit Firejail

    Gründe, warum diese in der gleichen Reihenfolge fehlgeschlagen sind:

  4. Weil es kein UDP unterstützte

  5. Das hat zunächst funktioniert. Aber es war nicht stabil und nicht konsistent. Manchmal konnte mich der andere Spieler in der Lobby sehen, aber ich konnte ihn nicht sehen. Und manchmal war es umgekehrt. Außerdem musste ich es als Root ausführen, was bei der Verwendung von Wine nicht gut ist. Diese Option hat also nicht geholfen, aber sie hat mir geholfen, ein paar Dinge zu verstehen.
  6. Es konnte eine Bindung an diese Schnittstelle hergestellt werden, aber leider konnte ich nicht dieselbe IP verwenden (es generiert eine andere IP im selben Subnetz) und ich erhielt keine Ausgabe wie bei Verwendung von Option Nr. 2. Ich habe sogar versucht, die IP-Adresse über die my.zerotier.comBenutzeroberfläche zur Zerotier-Netzwerkschnittstelle hinzuzufügen. Es hat nicht geholfen.

Außerdem habe ich viele iptables-Konfigurationen ausprobiert, aber das hat nicht geholfen. Ich habe auch die IPv4-Weiterleitung über sysctl aktiviert. Ich denke immer noch, dass dies über iptables gelöst werden kann.Dasist der letzte Versuch, den ich bisher habe ( in Form eines Bash-Skripts )

verwandte Informationen