Vaatimukset: Oletetaan, että palvelimen A ohjelmassa on käytössä vain UDS-kuuntelu, mitä palvelimen B pitäisi tehdä, jos se haluaa kutsua ohjelmaa palvelimella A? Voit käyttää UNIX Domain Socketia (UDS) TCP:n kautta välittääksesi prosessin palvelimelta A palvelimelle B.
arvostelu
UNIX-verkkotunnukset ovat mekanismi prosessien väliseen viestintään, joka perustuu tiedostopolkuihin tiedostojen sijaan. Vaikka käytössä olisi SFTP tai SSHFS, UNIX-verkkotunnuksen soketteja ei voi käyttää verkon kautta.
socat käyttää UNIX-verkkotunnussoketteja
Asennuskomennot:
Käynnistä palvelin
Ensinnäkin, sanotaan että palvelinprosessi /tmp/example-server.sock kuuntelee palvelinta nimeltä "server-program". /tmp/example-server.sock Jos voit yhdistää tähän socketiin toisesta isännästä ja käyttää sitä, voit sanoa, että olet pystynyt päihittämään verkon käyttämällä sitä UNIX-verkkotunnuksena.
Jos haluat vain testata, voit käyttää Socatia.
Testikutsu, komento on seuraava:
Kuten alla on esitetty:
Tai yhdistä käyttämällä socat-komentoa, kuten alla on esitetty:
Käytä TCP-yhteyksiä
Käytä socat-komentoa isännässä, jolla palvelinprosessi käynnissä.
Yhdistä TCP:hen etäisännästä
Se kuuntelee samannimistä UNIX-verkkotunnussokettia ja yhdistää sen isäntään, jolla palvelinprosessi suoritetaan.
Käytä asiakasohjelmaa etäisännässä
Nyt kun kaikki on valmista, yhdistetään palvelinprosessiin verkon kautta. Jos haluat kokeilla sitäkin, voit käyttää Socatia.
Käytä OpenSSH:ta
Jos sinulla on SSH-yhteys, on helpompi tapa. /tmp/example-server.sock Aloita ensin palvelinpalvelimen isäntä (pois jäetty). Käytä -L asiakaspalvelimessa. Käsky on seuraava:
Se on nyt saatavilla asiakaspalvelimelta. |