Požadavky: Představme si, že program na serveru A má zapnuté pouze UDS naslouchání, co by měl server B udělat, pokud chce zavolat program na serveru A? Můžete použít UNIX Domain Socket (UDS) přes TCP k přeposílání procesu ze serveru A na server B.
přezkoumání
UNIX doménové sockety jsou mechanismem pro komunikaci mezi procesy založeným na cestách k souborům, nikoli na souborech v souborovém systému. I u SFTP nebo SSHFS nelze UNIX doménové sockety přistupovat přes síť.
socat používá UNIX doménové sockety
Příkazy k instalaci:
Spusťte server
Nejprve řekněme, že server zpracuje /tmp/example-server.sock a poslouchá server nazvaný "server-program". /tmp/example-server.sock Pokud se dokážete připojit k tomuto socketu z jiného hostitele a přistupovat k němu, můžete říct, že jste překonali síť tím, že jste ho použili jako UNIX doménový socket.
Pokud to chcete jen vyzkoušet, můžete použít socat.
Testovací volání je následující:
Jak je uvedeno níže:
Nebo se připojte pomocí příkazu socat, jak je znázorněno níže:
Používejte TCP spojení
Použijte příkaz socat na hostiteli, na kterém běží serverový proces.
Připojte se k TCP z vzdáleného hostitele
Naslouchá UNIX doménovému socketu se stejným názvem a připojuje jej k hostiteli, na kterém server běží.
Použijte klienta na vzdáleném hostiteli
Teď, když je vše připraveno, připojme se k serverovému procesu přes síť. Pokud to chceš také vyzkoušet, můžeš použít socat.
Použijte OpenSSH
Pokud máte přístup k SSH, existuje jednodušší způsob. /tmp/example-server.sock Nejprve spusťte hostitele serveru (vynecháno). Použijte -L na klientském hostiteli. Příkaz je následující:
Nyní je přístupný z klientského hostitele. |