Anforderungen: Angenommen, ein Programm auf Server A hat nur UDS-Listening aktiviert, was sollte Server B tun, wenn er ein Programm auf Server A aufrufen möchte? Man kann UNIX Domain Socket (UDS) über TCP verwenden, um einen Prozess von Server A auf Server B weiterzuleiten.
Rezension
UNIX-Domänensockets sind ein Mechanismus für die Kommunikation zwischen Prozessen, die auf Dateipfaden basieren, anstatt auf Dateien im Dateisystem. Selbst mit SFTP oder SSHFS können UNIX-Domänensockets nicht über das Netzwerk zugänglich sein.
socat verwendet UNIX-Domänensockets
Installationsbefehle:
Starte den Server
Angenommen, ein Server verarbeitet /tmp/example-server.sock einen Server namens "server-program". /tmp/example-server.sock Wenn Sie sich von einem anderen Host aus mit diesem Socket verbinden und darauf zugreifen können, können Sie sagen, dass Sie das Netzwerk durch die Nutzung als UNIX-Domänensocket übertreffen konnten.
Wenn du es einfach ausprobieren willst, kannst du Socat verwenden.
Testaufruf, der Befehl lautet wie folgt:
Wie unten gezeigt:
Oder verbinden Sie sich mit dem Socat-Befehl, wie unten gezeigt:
Verwenden Sie TCP-Verbindungen
Verwenden Sie den Socat-Befehl auf dem Host, auf dem der Serverprozess läuft.
Verbinden Sie sich mit TCP vom entfernten Host aus
Es hört auf den UNIX-Domänensocket mit demselben Namen und verbindet ihn mit dem Host, auf dem der Serverprozess läuft.
Verwenden Sie den Client auf dem entfernten Host
Jetzt, wo alles bereit ist, verbinden wir uns mit dem Server über das Netzwerk. Wenn du es auch ausprobieren willst, kannst du Socat verwenden.
Verwende OpenSSH
Wenn du Zugang zu SSH hast, gibt es einen einfacheren Weg. /tmp/example-server.sock Zuerst starte den Server-Host (weggelassen). Verwenden Sie -L auf dem Client-Host. Der Befehl lautet wie folgt:
Es ist jetzt vom Client-Host aus zugänglich. |