Krav: Antag, at et program på server A kun har UDS-lytning aktiveret, hvad skal server B gøre, hvis det vil kalde et program på server A? Du kan bruge UNIX Domain Socket (UDS) over TCP til at videresende en proces fra server A til server B.
anmeldelse
UNIX-domænesockets er en mekanisme til interproceskommunikation baseret på filstier frem for filer på filsystemet. Selv med SFTP eller SSHFS kan UNIX-domænesockets ikke tilgås over netværket.
socat bruger UNIX-domænesockets
Installationskommandoer:
Start serveren
Lad os først sige, at en serverproces /tmp/example-server.sock lytter efter en server kaldet "server-program". /tmp/example-server.sock Hvis du kan forbinde til denne socket fra en anden vært og få adgang til den, kan du sige, at du har kunnet overgå netværket ved at bruge det som en UNIX-domænesocket.
Hvis du bare vil teste det, kan du bruge Socat.
Testkald, kommandoen er som følger:
Som vist nedenfor:
Eller forbind med socat-kommandoen, som vist nedenfor:
Brug TCP-forbindelser
Brug socat-kommandoen på den host, hvor serverprocessen kører.
Forbind til TCP fra den eksterne vært
Den lytter efter UNIX-domænesocketen med samme navn og forbinder den til den vært, hvor serverprocessen kører.
Brug klienten på den eksterne vært
Nu hvor alt er klar, lad os forbinde til serveren over netværket. Hvis du også vil teste det, kan du bruge Socat.
Brug OpenSSH
Hvis du har adgang til SSH, er der en nemmere måde. /tmp/example-server.sock Start først serverværten (udeladt). Brug -L på klienthosten. Kommandoen er som følger:
Den er nu tilgængelig fra klientværten. |