Изисквания: Да предположим, че програма на сървър А има включено само слушане чрез UDS, какво трябва да направи сървър B, ако иска да извика програма на сървър A? Можете да използвате UNIX Domain Socket (UDS) над TCP, за да препратите процес от сървър А към сървър B.
преглед
UNIX домейн сокети са механизъм за комуникация между процеси, базиран на файлови пътища, а не на файлове във файловата система. Дори със SFTP или SSHFS, UNIX домейн сокети не могат да бъдат достъпени през мрежата.
socat използва UNIX домейн сокети
Команди за инсталация:
Стартирай сървъра
Първо, да кажем, че сървърен процес /tmp/example-server.sock слуша сървър, наречен "server-program". /tmp/example-server.sock Ако можете да се свържете с този сокет от друг хост и да го достъпите, тогава можете да кажете, че сте успели да надминете мрежата, като я използвате като UNIX домейн сокет.
Ако просто искаш да го пробваш, можеш да използваш socat.
Тестовото извикване, командата е следната:
Както е показано по-долу:
Или се свържете с командата socat, както е показано по-долу:
Използвайте TCP връзки
Използвайте командата socat на хоста, на който работи сървърният процес.
Свържете се с TCP от отдалечения хост
Той слуша за UNIX домейн сокет със същото име и го свързва с хоста, на който работи сървърният процес.
Използвайте клиента на отдалечения хост
Сега, когато всичко е готово, нека се свържем със сървърния процес през мрежата. Ако искаш да го пробваш, можеш да използваш socat.
Използвайте OpenSSH
Ако имате SSH достъп, има по-лесен начин. /tmp/example-server.sock Първо, стартирайте хоста на сървъра (пропуснато). Използвайте -L на клиентския хост. Командата е следната:
Вече е достъпен от клиентския хост. |