Требования: Предположим, что программа на сервере A включает только прослушивание через UDS, что должен делать сервер B, если он хочет вызвать программу на сервере A? Вы можете использовать UNIX Domain Socket (UDS) через TCP для пересылки процесса с сервера A на сервер 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 на клиентском хосте. Команда следующая:
Теперь он доступен от клиентского хоста. |