Nå hvis du vil dele noe fra din lokale webserver til vennene dine som er utenfor lokalnettverket og de ikke har tilgang til maskinen din. Så hvordan vil du utsette din lokale vert for vennene dine utenfor LAN?
I dette tilfellet oppretter du en tunnel fra din lokale vert til internett og deler en offentlig IP-adresse til vennene dine som er tilgjengelig fra hele internett.
Tunneler kan etableres ved hjelp av SSH eller Ngrok. Her vil vi diskutere begge måtene, og deretter vil vi verifisere resultatet av tunneling ved hjelp av netcat.
Å få offentlig IP ved hjelp av Ngrok
Ngrok er en plattformtunnelleringsprogramvare som kan brukes til å etablere sikre tunneler fra internett til det lokale nettverket. Den fanger også all trafikken for inspeksjon. Følgende er metoden for å etablere tunneler fra localhost til internett.
Installere Ngrok
Før bruk Ngrok på maskinen din, må vi installere den. Ngrok kan installeres ved å bruke følgende kommando i Terminal.
[e-postbeskyttet]: ~ $ snap install ngrokNår du kjører kommandoen ovenfor, vil den installere ngrok etter nedlasting av nødvendige filer. Du kan sjekke om Ngrok har blitt installert eller ikke ved å bruke følgende kommando i terminalen.
[e-postbeskyttet]: ~ $ ngrok --versjonHvis Ngrok er installert, vil den gi versjonen som vist i følgende figur.
Etter installasjon Ngrok, nå er den klar til bruk for å etablere tunneler.
Å eksponere Localhost for Public
Ngrok brukes til å eksponere din lokale webserver for internett. Alt vi trenger å gjøre er å fortelle Ngrok hvilken port din lokale webserver hører på. Kjør følgende kommando for å eksponere din lokale webserver for internett
[e-postbeskyttet]: ~ $ ngrok http 8080Når du kjører kommandoen ovenfor i terminalen, Ngrok oppretter en tunnel fra din lokale webserver til internett gjennom port 8080 og viser den offentlige URL-en som din lokale webserver kan nås gjennom. Følgende GUI vises på Terminal når du kjører kommandoen ovenfor.
Nå kan du få tilgang til din lokale vert: 8080 fra hele internett ved å bruke lenken vist i figuren ovenfor.
Inspisere trafikken gjennom tunnelen
Ngrok gir oss muligheten til å inspisere alle innkommende eller utgående forespørsler fra internett til din lokale vert. Vi kan observere all trafikk ved å gå til følgende lenke
localhost: 4040 / inspect / httpNår du går til lenken ovenfor, viser nettleseren deg alle innkommende eller utgående forespørsler som vist i følgende figur.
Terminal viser også forespørslene til din lokale webserver. Følgende figur viser hvordan terminalen holder oversikt over http-forespørsler.
Få offentlig IP ved hjelp av SSH
SSH også kjent som Secure Shell er en sikker kommunikasjonsprotokoll som brukes til ekstern kommunikasjon mellom klient og server. Dessuten, SSH kan også brukes til å etablere tunneler for å gjøre ditt lokale vert tilgjengelig for publikum. I denne bloggen vil vi se hvordan du bruker SSH til å etablere tunneler mellom din lokale vert og det offentlige internett.
Å eksponere Localhost for Public
Localhost kan også bli utsatt for publikum ved å bruke SSH som i utgangspunktet er en kommunikasjonsprotokoll. Det kalles SSH tunneling eller SSH port videresending. Kjør følgende kommando i terminalen til din lokale vert for å etablere en tunnel mellom din lokale vert og eksterne server
[e-postbeskyttet]: ~ $ ssh -R 8080: localhost: 8088 remoteUser @ IPAddressI kommandoen ovenfor
- 8080 er porten som serveren lytter til
- 8088 er porten du vil eksponere
- remoteUser er navnet på brukeren du skal eksponere webserveren din for
- IPAddress er IP for ekstern bruker
- -R betyr at du oppretter en forbindelse fra ekstern server til din lokale vert
Nå kan du få tilgang til port 8088 på din lokale vert fra en ekstern server som har IP "IP-adresse" og brukernavn "remoteUser" gjennom port 8080.
Ekstern serverkonfigurasjon
Før du får tilgang til localhost gjennom tunnelen fra en ekstern server, må du gjøre noen endringer i sshd_config filen til den eksterne serveren. Denne filen kan åpnes ved å skrive følgende kommando i terminalen.
[e-postbeskyttet]: ~ $ nano / etc / ssh / sshd_configEtter at du har åpnet filen, gjør du endringene som vist i følgende figur.
AllowTcpForwarding jaGatewayPorts ja
Etter å ha gjort endringer, start på nytt SSH serveren for å bruke disse endringene. Nå er localhost åpen for den eksterne serveren som skal nås.
Testing av tunnelene
Så langt har vi etablert tunneler mellom localhost og en ekstern server ved hjelp av SSH og Ngrok. Nå skal vi teste om disse tunnelene er etablert eller ikke. Vi vil bruke netcat kommando for å teste tunneler. Kjør følgende kommando i terminalen til din lokale vert
[e-postbeskyttet]: ~ $ netcat -l -p 8088Når du kjører kommandoen ovenfor i terminalen til din lokale vert, netcat begynner å lytte på port 8088 på din lokale vert.
Skriv nå inn følgende kommando i terminalen på den eksterne serveren for å sende meldingen
[e-postbeskyttet]: ~ $ echo “Hei!”| netcat [fjernserver IP] 8080Når du kjører kommandoen ovenfor i terminalen på den eksterne serveren, må meldingen "Hello" vises på terminalen til localhost. Hvis dette skjer, er tunnelen din etablert.
Konklusjon
For å gjøre din lokale vert tilgjengelig fra internett gjøres ved å etablere tunneler mellom din lokale vert og internett. I denne bloggen har vi diskutert hvordan du kan etablere tunneler for å gjøre din lokale vert tilgjengelig for internett. Det er diskutert to metoder for å etablere tunneler SSH tunneling og Ngrok tunneling. Trafikkinspeksjon ved hjelp av Ngrok tunneling har også blitt diskutert. Etter dette, prosessen med å teste tunnelene ved hjelp av netcat har blitt diskutert. Etter å ha lest denne bloggen, vil det være veldig enkelt for deg å lage din lokale webserver for publikum.