Netwerken

Hoe een openbaar IP-adres te krijgen met behulp van Ngrok of SSH-tunneling

Hoe een openbaar IP-adres te krijgen met behulp van Ngrok of SSH-tunneling
Elk apparaat dat op internet is aangesloten, heeft een IP-adres dat het apparaat uniek identificeert. IP-adressen kunnen worden ingedeeld in twee typen: openbaar en privé. Openbare IP-adressen zijn overal op internet toegankelijk, terwijl privé-IP-adressen alleen toegankelijk zijn binnen Local Area Network (LAN).

Als u nu iets van uw lokale webserver wilt delen met uw vrienden die zich buiten het Local Area Network bevinden en zij geen toegang hebben tot uw machine. Hoe zou je dan je localhost blootstellen aan je vrienden buiten het LAN??

In dit geval maak je een tunnel van je localhost naar het internet en deel je een openbaar IP-adres met je vrienden dat vanaf het hele internet toegankelijk is.

Tunnels kunnen worden gemaakt met behulp van SSH of Ngrok. Hier zullen we beide manieren bespreken en dan zullen we het resultaat van tunneling verifiëren met behulp van netcat.

Openbare IP verkrijgen met Ngrok

Ngrok is een platformonafhankelijke tunnelingsoftware die kan worden gebruikt om veilige tunnels van internet naar het lokale netwerk tot stand te brengen. Het legt ook al het verkeer vast voor inspectie. Hieronder volgt de methode om tunnels tot stand te brengen van localhost naar internet:.

Ngrok . installeren

Voor gebruik Ngrok op uw machine, we moeten het installeren. Ngrok kan worden geïnstalleerd met behulp van de volgende opdracht in Terminal:.

[e-mail beveiligd]:~$ snap install ngrok

Wanneer u de bovenstaande opdracht uitvoert, wordt de ngrok geïnstalleerd na het downloaden van de vereiste bestanden. U kunt controleren of Ngrok is geïnstalleerd of niet met behulp van de volgende opdracht in de Terminal:.

[e-mail beveiligd]:~$ ngrok --version

Als Ngrok is geïnstalleerd, geeft het de versie zoals weergegeven in de volgende afbeelding:.

Na installatie Ngrok, nu is het klaar voor gebruik om tunnels te maken.

Localhost blootstellen aan publiek

Ngrok wordt gebruikt om uw lokale webserver bloot te stellen aan internet. Het enige wat we hoeven te doen is vertellen Ngrok op welke poort uw lokale webserver luistert. Voer de volgende opdracht uit om uw lokale webserver bloot te stellen aan internet:

[e-mail beveiligd]:~$ ngrok http 8080

Wanneer u de bovenstaande opdracht uitvoert in de Terminal, Ngrok brengt een tunnel tot stand van uw lokale webserver naar internet via poort 8080 en geeft de openbare URL weer waarmee toegang kan worden verkregen tot uw lokale webserver. De volgende GUI verschijnt op Terminal wanneer u de bovenstaande opdracht uitvoert:.

Nu is uw localhost:8080 toegankelijk vanaf het hele internet door de link te gebruiken die wordt weergegeven in de bovenstaande afbeelding.

Het verkeer door de tunnel inspecteren

Ngrok biedt ons de mogelijkheid om alle inkomende of uitgaande verzoeken van internet naar uw localhost te inspecteren. We kunnen al het verkeer observeren door naar de volgende link te gaan:

localhost:4040/inspect/http

Wanneer u naar de bovenstaande link gaat, toont de browser u alle inkomende of uitgaande verzoeken zoals weergegeven in de volgende afbeelding:.

Terminal toont ook de verzoeken die aan uw lokale webserver zijn gedaan. De volgende afbeelding laat zien hoe de terminal de registratie van http-verzoeken bijhoudt.

Openbare IP verkrijgen met SSH

SSH ook bekend als Secure Shell is een beveiligd communicatieprotocol dat wordt gebruikt voor communicatie op afstand tussen client en server. Verder, SSH kan ook worden gebruikt voor het opzetten van tunnels om uw localhost toegankelijk te maken voor het publiek. In deze blog zullen we zien hoe je SSH kunt gebruiken voor het opzetten van tunnels tussen je localhost en openbare internet.

Localhost blootstellen aan publiek

Localhost kan ook openbaar worden gemaakt door gebruik te maken van SSH wat in feite een communicatieprotocol is. Het heet SSH tunnelen of SSH Port forwarding. Voer de volgende opdracht uit in de Terminal van uw localhost om een ​​tunnel tot stand te brengen tussen uw localhost en de externe server:

[email protected]:~$ ssh -R 8080:localhost:8088 remoteUser@IPAddress

In de bovenstaande opdracht:

Nu is poort 8088 van uw localhost toegankelijk vanaf een externe server met IP "IP-adres" en gebruikersnaam "remoteUser" via poort 8080.

Externe serverconfiguratie

Voordat u toegang krijgt tot localhost via de tunnel vanaf een externe server, moet u enkele wijzigingen aanbrengen in de sshd_config bestand van de externe server. Dit bestand kan worden geopend door de volgende opdracht in terminal te typen:.

[e-mail beveiligd]:~$ nano /etc/ssh/sshd_config

Breng na het openen van het bestand de wijzigingen aan zoals weergegeven in de volgende afbeelding:.

Toestaan ​​TcpForwarding ja
Gatewaypoorten ja

Start uw opnieuw op nadat u wijzigingen heeft aangebracht SSH server om deze wijzigingen toe te passen. Nu is localhost open voor toegang tot de externe server.

De tunnels testen

Tot nu toe hebben we tunnels tot stand gebracht tussen localhost en een externe server met behulp van SSH en Ngrok. Nu gaan we testen of deze tunnels zijn aangelegd of niet or. We zullen gebruiken netcat opdracht om tunnels te testen. Voer de volgende opdracht uit in de terminal van uw localhost

[e-mail beveiligd]:~$ netcat -l -p 8088

Wanneer u de bovenstaande opdracht uitvoert in de terminal van uw localhost, netcat begint te luisteren op poort 8088 van uw localhost.

Typ nu de volgende opdracht in de terminal van de externe server om het bericht te verzenden:

[e-mail beveiligd]:~$ echo "Hallo!” | netcat [externe server IP] 8080

Wanneer u de bovenstaande opdracht uitvoert in de terminal van uw externe server, moet het bericht "Hallo" verschijnen op de terminal van localhost. Als dit gebeurt, is uw tunnel tot stand gebracht.

Conclusie

Om je localhost toegankelijk te maken vanaf internet doe je door tunnels te maken tussen je localhost en internet. In deze blog hebben we besproken hoe je tunnels kunt opzetten om je localhost toegankelijk te maken voor internet. Er zijn twee methoden besproken om tunnels tot stand te brengen, namelijk: SSH tunnelen en Ngrok tunnelen. Verkeersinspectie met behulp van Ngrok tunneling is ook besproken. Hierna is het proces van het testen van de tunnels met behulp van: netcat is besproken. Na het lezen van deze blog zal het heel gemakkelijk voor je zijn om je lokale webserver openbaar te maken.

Open source-poorten van commerciële game-engines
Gratis, open source en platformonafhankelijke game-engine-recreaties kunnen worden gebruikt om zowel oude als enkele van de vrij recente gametitels te...
Beste opdrachtregelspellen voor Linux
De opdrachtregel is niet alleen je grootste bondgenoot bij het gebruik van Linux, hij kan ook de bron van entertainment zijn omdat je hem kunt gebruik...
Beste gamepad-toewijzingsapps voor Linux
Als je graag games op Linux speelt met een gamepad in plaats van een typisch toetsenbord- en muisinvoersysteem, zijn er enkele handige apps voor jou. ...