Вимоги: Припустимо, програма на сервері 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 на клієнтському хості. Команда звучить так:
Тепер він доступний через клієнтський хост. |