Als u het geluk heeft dat uw internetprovider (ISP) een speciaal IP-adres verstrekt, kunt u een thuisserver opzetten en deze beschikbaar maken voor internet door een paar port forwarding-regels ( forwarding ) aan de router toe te voegen. Maar als uw ISP u dwingt dat IP-adres met uw buren te delen, zal port forwarding niet helpen. Andere providers blokkeren inkomende verbindingen eenvoudigweg via firewallregels.
Gebruikers kunnen al deze beperkingen overwinnen met behulp van virtuele privéservers. Alles werkt met minder dan 512 MB RAM, omdat het netwerkverkeer alleen maar hoeft om te leiden. Het verbruikt niet veel RAM en CPU. De server ontvangt inkomende verbindingen en stuurt deze door naar de computer via een “ reverse SSH-tunnel ”. Zo kunt u voor een zeer klein maandelijks bedrag elk type thuisserver opzetten.
Stel je voor dat je een NextCloud-server maakt om bestanden te uploaden of te synchroniseren. U beschermt de privacy van uw bestanden wanneer deze op uw thuisserver staan en indien nodig kunt u een harde schijf van 6 TB kopen om de opslagcapaciteit te vergroten. De maandelijkse elektriciteitsrekening bedraagt minder dan $ 5/maand (115.000 VND) voor een virtuele privéserver. Goedkoper dan de maandelijkse factuur voor een server met 6TB capaciteit.
Opmerking : deze methode wordt alleen gebruikt om TCP-netwerkverkeer om te leiden. TCP wordt gebruikt door de webserver (poort 80/tcp). UDP wordt door sommige (maar niet alle) gameservers gebruikt, bijvoorbeeld Counter Strike (poort 27015/UDP). UDP-tunneling is ook mogelijk, maar vereist enkele trucjes.
Maakt externe verbinding met pc mogelijk
Windows 10 heeft nu een ingebouwde SSH-client
U hoeft PuTTY niet meer te gebruiken om SSH-verbindingen te initiëren. In deze tutorial gebruiken we de ingebouwde SSH-client om de tunnel in te stellen. Lees het artikel: OpenSSH installeren op Windows 10 van LuckyTemplates voor meer informatie.
Virtual private server voorbereiden op tunnelverbinding
Creëer een virtuele privéserver bij uw favoriete provider. Het belangrijkste is om een serverlocatie zo dichtbij mogelijk te kiezen om de netwerklatentie te minimaliseren. Probeer de server zo in te richten dat je direct op het root-account kunt inloggen, bij voorkeur met een SSH-sleutel, dit is veiliger. Dit is nodig als u de server wilt laten "luisteren" naar inkomende verbindingen op poorten onder 1024, ook wel bevoorrechte poorten genoemd.
Open de opdrachtprompt (of terminal als u Linux gebruikt) en log via SSH in op de server.
OpenSSH-serverinstellingen bewerken:
nano /etc/ssh/sshd_config
Als u niet als root bent ingelogd maar als een gewone gebruiker, moet u deze opdracht gebruiken om het bestand op te kunnen slaan:
sudo nano /etc/ssh/sshd_config
Blader naar beneden totdat u de variabele GatewayPorts vindt. Deze regel zou er als volgt uit kunnen zien:
#GatewayPorts no
Verwijder # (om het te veranderen van een commentaar naar een deel van het programma) en verander de regel in:
GatewayPorts yes
Als u deze regel niet kunt vinden, scroll dan gewoon naar beneden en voeg de regel zelf toe:
GatewayPorts yes

Druk op Ctrl + X , druk vervolgens op y en ten slotte op Enter om het bestand op te slaan.
Laad de SSH-daemon opnieuw zodat deze de nieuwe instellingen overneemt.
systemctl reload ssh.service
Sluit de SSH-sessie af.
exit
Hoe u een omgekeerde SSH-tunnel opzet
De opdrachtparameters zijn hetzelfde op Linux, Windows en zelfs BSD. De algemene syntaxis is:
ssh -R remote_port:host:localport your_username@IP-of-server
- remote_port vertelt de server om verbindingen naar die poort om te leiden.
- host vertelt de server het IP-adres waarnaar de verbinding zal worden omgeleid. 127.0.0.1 wordt hier gebruikt om door te verwijzen naar de eigen computer van de gebruiker.
- localport instrueert naar welke poortpakketten moeten worden omgeleid. Hier moet de gebruiker het poortnummer instellen waarop de applicatie die op de lokale computer is geïnstalleerd, “luistert”.
Om bijvoorbeeld alle verbindingen op poort 80 door te sturen (naar de server) en ze naar poort 8080 op de lokale computer te sturen, zou het commando zijn:
ssh -R 80:127.0.0.1:8080 root@203.0.113.1
Hierbij wordt ervan uitgegaan dat je een webserver hebt, zoals Apache of Nginx, die lokaal op poort 8080 luistert. Maar als Apache/Nginx luistert op standaardpoort 80, dan is er geen probleem om dezelfde poort twee keer te gebruiken in de vorige opdracht (omdat ze verwijzen naar poort 80 op een andere server).
ssh -R 80:127.0.0.1:80 root@203.0.113.1
Als iemand op dit moment het IP-adres van uw virtuele privéserver in de adresbalk van zijn browser invoert, wordt zijn of haar verbinding omgeleid en afgehandeld door uw lokale computer.
![Hoe u Reverse SSH Tunnel kunt gebruiken om externe verbindingen met de pc mogelijk te maken Hoe u Reverse SSH Tunnel kunt gebruiken om externe verbindingen met de pc mogelijk te maken]()
In de afbeelding hierboven is gebruik gemaakt van een eenvoudige webserver voor Chrome die standaard op poort 8887 luistert. Gebruikers kunnen deze opstelling zelf proberen door de app te installeren en vervolgens de opdracht te gebruiken, zoals weergegeven in de afbeelding.
Het is de moeite waard te vermelden dat om de tunnel actief te houden, de SSH-sessie actief moet blijven. Om de tunnel te sluiten, typt u exit in een terminal- of opdrachtpromptvenster.
Zoals je kunt zien is het niet moeilijk om een omgekeerde SSH-tunnel te maken, maar het beveiligen van een website is anders. Dus als u ervoor kiest een idee, zoals een lokale NextCloud-server, te implementeren, isoleer het dan op zijn minst in een virtuele machine. Op deze manier wordt, als de website wordt gehackt, in ieder geval de rest van het besturingssysteem niet beschadigd.
En een ander belangrijk ding om te onthouden is om altijd een back-up te maken van wat u niet wilt riskeren te verliezen!
Ik hoop dat je succesvol bent.