Tunnel vanaf het Internet naar een interne poort

Stel je hebt een device, bijvoorbeeld een ADSL-modem/router die je via een webinterface kunt configureren maar dit kan enkel via HTTP en niet HTTPS (dus geen versleutelde verbinding) en/of dit device is enkel te configureren vanaf het interne netwerk en niet vanaf de Internet-kant.

Toch wil je vanaf een andere plaats op de wereld het device op een veilige manier configureren. Dit kan! En wel via een Secure SHell (SSH) tunnel.

Benodigdheden

Een computer op het interne netwerk die bereikbaar is vanaf het Internet en waarop een SSH-server draait. Deze computer noemen we vanaf nu: ‘interne computer‘.

Mogelijke configuratie

Het ADSL-modem/router forward poort 2222 vanaf het Internet naar poort 22 van de interne computer. Poort 22 is de standaard SSH-poort. Poort 2222 is een willekeurig gekozen vrije poort.

We willen dus het ADSL-modem/router configureren. Deze biedt echter alleen een webinterface aan op poort 80, waarmee alleen computers vanaf het interne netwerk een verbinding mogen maken.

Oplossing

We gaan een tunnel opzetten vanaf het Internet door de interne computer naar poort 80 van het ADSL-modem/router. Deze computer bevindt zich namelijk wel op het interne netwerk en mag wel connecten met de webinterface van de ADSL-router.

Neem aan dat het ADSL-modem/router via het Internet te bereiken is via IP-adres: 1.2.3.4 en via het interne netwerk is het ADSL-modem/router te bereiken op het IP-adres: 192.168.178.1

Op de remote computer voeren we nu onderstaand commando uit:
ssh -p 2222 root@1.2.3.4 -L localhost:8080:192.168.178.1:80

Nu wordt er vanaf poort 8080 van localhost (remote computer) een tunnel gelegd naar poort 80 van 192.168.178.1 en dat is het ADSL-modem. Poort 8080 op de remote computer moet wel vrij zijn, kies anders een willekeurig ander nummer van een vrije poort.

Na inloggen is het op de remote computer mogelijk om de webinterface van het ADSL-modem/router te bereiken. Start daartoe op de remote computer een webbrowser zoals Firefox. Vul als adres in: http://localhost:8080

Bijkomend voordeel is dat de gegevens die verstuurd worden via Internet versleuteld worden omdat de verbinding nu via SSH loopt.