Acabei de descobrir que isso funciona:
remotehost$ socat TCP-LISTEN:6066 UNIX-CONNECT:/tmp/a.socket
localhost$ socat UNIX-LISTEN:/tmp/a.socket TCP:remotehost:6066
Eu gostaria de poder ouvir remotamente sockets UNIX para fazer programas como dtach
, que suportam somente escutar soquetes UNIX, trabalhar remotamente. Eu li sobre socat
e como ele é capaz de encaminhar sockets UNIX para sockets TCP e vice-versa, mas na prática eu não consegui fazer isso funcionar. Então, através de socat
ou qualquer outro meio, como podemos ouvir remotamente sockets UNIX?
(Se acontecer de você saber como fazer dtach
funcionar remotamente, então tudo bem também. Esta questão é simplesmente uma questão abstrata para o problema real.)
Acabei de descobrir que isso funciona:
remotehost$ socat TCP-LISTEN:6066 UNIX-CONNECT:/tmp/a.socket
localhost$ socat UNIX-LISTEN:/tmp/a.socket TCP:remotehost:6066
O SSH pode encaminhar os soquetes do domínio Unix com -L e -R da mesma forma que encaminha as portas TCP. Exemplo: ssh -L ./mydocker.sock:/var/run/docker.sock example.com