Hvordan få offentlig IP -adresse ved å bruke Ngrok eller SSH Tunneling

Hvordan få offentlig IP -adresse ved å bruke Ngrok eller SSH Tunneling
Hver enhet tilkoblet på internett har en IP -adresse som identifiserer enheten unikt. IP -adresser kan klassifiseres i to typer som er offentlige og private. Offentlige IP -adresser kan nås hvor som helst på internett mens private IP -adresser bare kan nås i lokalt nettverk (LAN).

Nå hvis du vil dele noe fra din lokale webserver til vennene dine som er utenfor lokalnettverket, og de kan ikke få tilgang til maskinen din. Så hvordan vil du utsette din lokale host for vennene dine utenfor LAN?

I dette tilfellet oppretter du en tunnel fra din localhost til Internett og deler en offentlig IP -adresse til vennene dine som kan nås fra hele Internett.

Tunneler kan etableres ved å bruke Ssh eller Ngrok. Her vil vi diskutere begge måtene, og så vil vi bekrefte resultatet av tunneling ved bruk av netcat.

Få offentlig IP ved å bruke NGrok

Ngrok er en tverrplattformtunnelprogramvare som kan brukes til å etablere sikre tunneler fra internett til det lokale nettverket. Det fanger også all trafikk for inspeksjon. Følgende er metoden for å etablere tunneler fra Localhost til Internett.

Installere Ngrok

Før du bruker Ngrok På maskinen din må vi installere den. Ngrok kan installeres ved å bruke følgende kommando i terminalen.

ubuntu@ubuntu: ~ $ snap install ngrok

Når du kjører kommandoen ovenfor, vil den installere Ngrok etter å ha lastet ned nødvendige filer. Du kan sjekke om Ngrok er installert eller ikke ved å bruke følgende kommando i terminalen.

ubuntu@ubuntu: ~ $ ngrok --version

Hvis Ngrok har blitt installert, vil den gi versjonen som vist i følgende figur.

Etter installasjon Ngrok, Nå er den klar til å bruke til å etablere tunneler.

Utsetter localhost for offentligheten

Ngrok brukes til å eksponere din lokale webserver for internett. Alt vi trenger å gjøre er å fortelle Ngrok Hvilken port den lokale webserveren lytter på. Kjør følgende kommando for å eksponere din lokale webserver for internett

ubuntu@ubuntu: ~ $ ngrok http 8080

Når du kjører kommandoen ovenfor i terminalen, Ngrok etablerer en tunnel fra din lokale webserver til Internett gjennom port 8080 og viser den offentlige URL som din lokale webserver kan nås. Følgende GUI vises på terminalen når du kjører kommandoen ovenfor.

Nå kan du få tilgang til LocalHost: 8080.

Inspisere trafikken gjennom tunnel

Ngrok Gir oss muligheten til å inspisere alle innkommende eller utgående forespørsler fra Internett til din localhost. Vi kan observere all trafikken ved å gå til følgende lenke

LocalHost: 4040/Inspect/HTTP

Når du få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 som er fremsatt til din lokale webserver. Følgende figur viser hvordan terminalen holder posten over HTTP -forespørsler.

Få offentlig IP ved hjelp av SSH

Ssh Også kjent som Secure Shell er en sikker kommunikasjonsprotokoll som brukes til fjernkommunikasjon mellom klient og server. Dessuten, Ssh Kan også brukes til å etablere tunneler for å gjøre din localhost tilgjengelig for publikum. I denne bloggen vil vi se hvordan du bruker SSH for å etablere tunneler mellom ditt localhost og offentlige internett.

Utsetter localhost for offentligheten

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 localhost for å etablere en tunnel mellom din localhost og Remote Server

ubuntu@ubuntu: ~ $ ssh -r 8080: localhost: 8088 remoteuser@ipaddress

I kommandoen ovenfor

  • 8080 er porten som serverer lytter til
  • 8088 er havnen du vil eksponere
  • Remoteuser er navnet på brukeren du skal eksponere webserveren din
  • Ipadress er IP -en til ekstern bruker
  • -R betyr at du oppretter en tilkobling fra ekstern server til din localhost

Nå kan du få tilgang.

Ekstern serverkonfigurasjon

Før du får tilgang til Localhost gjennom tunnelen fra en ekstern server, gjør du noen endringer i SSHD_CONFIG Filen til den eksterne serveren. Denne filen kan åpnes ved å skrive følgende kommando i terminalen.

ubuntu@ubuntu: ~ $ nano/etc/ssh/sshd_config

Etter å ha åpnet filen, gjør du endringene som vist i følgende figur.

Tillater ja
Gatewayports ja

Etter å ha gjort endringer, start på nytt Ssh server 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 å bruke Ssh og Ngrok. Nå vil 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 Localhost

ubuntu@ubuntu: ~ $ netcat -l -p 8088

Når du kjører ovennevnte kommando i terminalen til din localhost, netcat begynner å lytte på port 8088 av din lokale host.

Skriv nå følgende kommando i terminalen til ekstern server for å sende melding

ubuntu@ubuntu: ~ $ ekko “Hei!”| Netcat [Remoteserver IP] 8080

Når du kjører kommandoen ovenfor i terminalen til den eksterne serveren din, må meldingen “Hello” vises på terminalen til Localhost. Hvis dette skjer, er tunnelen din etablert.

Konklusjon

For å gjøre lokalhostet ditt tilgjengelig fra Internett gjøres ved å etablere tunneler mellom din localhost og Internett. I denne bloggen har vi diskutert hvordan du kan etablere tunneler for å gjøre din localhost tilgjengelig for Internett. To metoder for å etablere tunneler har blitt diskutert som er Ssh tunneling og Ngrok tunneling. Trafikkinspeksjon ved bruk av Ngrok Tunneling har også blitt diskutert. Etter dette er 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 til publikum.