Wymagania: Załóżmy, że program na serwerze A ma włączone tylko UDS listening – co powinien zrobić serwer B, jeśli chce wywołać program na serwerze A? Możesz użyć UNIX Domain Socket (UDS) przez TCP, aby przekazać proces z serwera A na serwer B.
recenzja
Gniazda domenowe UNIX to mechanizm komunikacji między procesami oparty na ścieżkach plików, a nie na plikach w systemie plików. Nawet przy SFTP lub SSHFS gniazda domeny UNIX nie są dostępne przez sieć.
socat używa gniazd domenowych UNIX
Polecenia instalacyjne:
Uruchom serwer
Po pierwsze, załóżmy, że serwer przetwarza /tmp/example-server.sock nasłuchuje serwera o nazwie "server-program". /tmp/example-server.sock Jeśli możesz połączyć się z tym gniazdem z innego hosta i uzyskać do niego dostęp, możesz powiedzieć, że przewyższyłeś sieć, używając go jako gniazda domenowego UNIX.
Jeśli chcesz tylko przetestować, możesz użyć socatu.
Testowe wywołanie polecenia wygląda następująco:
Jak pokazano poniżej:
Albo połącz się za pomocą polecenia socat, jak pokazano poniżej:
Używaj połączeń TCP
Użyj polecenia socat na hostze, na którym uruchamiany jest proces serwera.
Połącz się z TCP z hosta zdalnego
Nasłuchuje gniazda domenowego UNIX o tej samej nazwie i łączy je z hostem, na którym działa proces serwera.
Użyj klienta na hostze zdalnym
Teraz, gdy wszystko jest gotowe, połączmy się z procesem serwera przez sieć. Jeśli chcesz to też przetestować, możesz użyć socat.
Użyj OpenSSH
Jeśli masz dostęp do SSH, jest łatwiejszy sposób. /tmp/example-server.sock Najpierw uruchom host serwera (pominięty). Użyj -L na hostze klienckim. Polecenie brzmi następująco:
Obecnie jest dostępny z hosta klienta. |