© PXimport

Zo werkt portforwarding

Geplaatst: 2 december 2019 - 15:16

Aangepast: 17 november 2022 - 09:56

Redactie ID.nl

Het internet of things (IoT) belooft dat je allerlei handige apparaten via internet met elkaar kunt laten communiceren: een slimme thermostaat, een ip-camera, je thuiscomputer enzovoort. In de praktijk werkt het wel op je lokale netwerk, maar via internet is het een ander verhaal. Dankzij portforwarding kun je er voor zorgen dat je die apparaten ook vanaf internet kunt benaderen.

Portforwarding is een truc van de (serieuze) router waarmee je jouw externe ip-adres (die naar één apparaat verwijst, de router dus) kunt koppelen aan meerdere interne ip-adressen. Op die manier kun je apparaten zoals ip-camera’s binnen je netwerk ook van buitenaf benaderen. In deze basiscursus laten we je zien hoe dat in zijn werk gaat. In je lokale netwerk draait er vermoedelijk het een en ander aan apparaten. We gaan hier als voorbeeld uit van twee identieke ip-camera’s die we zowel van binnen als van buiten het lokale netwerk willen te benaderen. De beschreven procedure werkt overigens alleen als je gebruikmaakt van een internetverbinding met een eigen ipv4-adres, iets dat nog altijd de meestgebruikte vorm is. Toch melden we dit voor de volledigheid, want een klein aantal internetverbindingen heeft tegenwoordig primair een ipv6-adres waarbij het externe ipv4-adres gedeeld wordt met andere gebruikers (DS-Lite). Dat werkt prima voor normaal internetgebruik, maar je hebt dan helaas geen eigen ipv4-adres waar je poorten naar kunt verwijzen. Je thuisnetwerk en apparaten zijn dan overigens wel via ipv6 bereikbaar, maar dat heeft weer als nadeel dat mobiele 4G-netwerken geen ipv6 ondersteunen.

01 Ip-adressen

We beginnen met wat praktische informatie over adressen en poorten. Een ip-adres (ip = internet protocol) bestaat in de meestgebruikte vorm (ipv4) uit vier unieke getallen tussen 0 en 255. Binnen je lokale netwerk vormen de eerste drie van die vier unieke getallen je zogenoemde ip-bereik. Ieder netwerkapparaat binnen dat lokale netwerk en dus binnen dat ip-bereik heeft een eigen en uniek ip-adres waarvan alleen het vierde getal afwijkt.

Als je precies wilt weten wat er allemaal binnen je netwerk aan de gang is, dan kun je daarvoor de tool Advanced IP Scanner gebruiken.

Bij de genoemde apparaten zijn die ip-adressen vast ingesteld, om te voorkomen dat ze kunnen veranderen onder invloed van de dhcp-server die op de router draait. Dat kun je handmatig doen of via een ip-reservering in de dhcp-server van je router. Voor het benaderen vanaf internet is het namelijk essentieel dat deze ip-adressen altijd hetzelfde blijven, zo dadelijk zul je zien waarom dat zo is.

02 Tcp-poorten

Een tcp-poort (tcp = transmission control protocol) dient om afzonderlijke services te kunnen benaderen die ‘achter’ een ip-adres actief zijn. Zonder dat je daar erg in hebt, ben je reeds bekend met tcp-poorten. Zo wordt tcp-poort 25 gebruikt voor smtp, dus om e-mail te verzenden. En poort 80 is voor http, om webpagina’s op te halen. Poorten 110 en 143 zijn respectievelijk voor pop3 en imap, om e-mail op te halen. 443 is https, voor het opvragen van beveiligde websites.

Er zijn ook de nodige minder bekende tcp-poortnummers. Bijvoorbeeld poortnummers die je zelf instelt, maar ook nummers die bij andere services horen. De twee ip-camera’s die als voorbeeld dienen in deze basiscursus hebben elk een eigen ip-adres (eindigend op 180 en 190). Beide maken gebruik van poorten 88 (http), 443 (https) en 888 (ONVIF, voor Open Network Video Interface Forum).

Je ziet dat de tcp-poorten identiek zijn, maar het verschil wordt gemaakt door de unieke ip-adressen. Om de eerste camera vanuit het lokale netwerk via ‘gewoon’ http te benaderen in de browser, typen we het adres 192.168.178.180:88 in de adresregel. Camera 2 benaderen we met 192:168:178:190:88.

Zo werkt portforwarding-18818327

© PXimport

03 Naar buiten

Het bovenstaande speelt zich allemaal binnen het lokale netwerk af. Nu gaan we naar buiten, naar internet. Wat op internet telt, is het externe ip-adres van je router. Dat externe ip-adres is bijvoorbeeld op te vragen via deze website, maar het is ook mogelijk dat je router je kan vertellen wat dat externe ip-adres is.

Als je intussen naar je browser gaat en dit externe ip-adres zonder specifieke tcp-poort in de browser intikt, zal er waarschijnlijk niets gebeuren omdat er op jouw ip-adres geen website draait. Heb je toevallig wel een website thuis draaien, dan kom je daarop terecht. Dat is het geval omdat je browser standaard gebruikmaakt van tcp-poort 80: die poort wordt doorgesluisd naar het ip-adres van de webserver in het lokale netwerk.

Zo werkt portforwarding-18818328

© PXimport

04 NAT-tabel

De reden dat verkeer naar poort 80 door de router wordt doorgesluisd naar de webserver in het lokale netwerk is simpel: dat staat zo ingesteld in de NAT-tabel van de router. In die network address translation-tabel staan koppelingen tussen het externe ip-adres van de router enerzijds en interne ip-adressen anderzijds. De tcp-poort die aan het externe ip-adres wordt meegegeven, dient als leidraad voor die koppeling.

In ons geval gaan we het zodanig instellen dat 95.97.70.234:180 naar de eerste ip-camera verwijst en 95.97.70.234:190 naar de tweede ip-camera. Dat klinkt ingewikkeld, maar dat valt wel mee.

We kunnen de bovenstaande informatie eenvoudig meenemen naar de NAT-tabel van de router, waar we als volgt te werk gaan. Als Service Name geven we IP-camera #1 en IP-camera #2 op. Protocol stellen we in op TCP. WAN Interface (de externe wide area network-poorten van de router) zetten we op All. Bij Public Port kiezen we de binnenkomende tcp-poorten die op de adresregel van de browser dienen te worden gebruikt: 180 en 190. We leggen geen restricties op aan inkomende ip-adressen, dus Source IP staat op Any. Bij Private IP geven we de ip-adressen van beide camera’s op: 192.168.178.180 en 192.168.178.190. En Private Port is de poort waarmee de camera’s worden benaderd: 88.

Zo werkt portforwarding-18818329

© PXimport

05 Combineren

Je hebt nu gezien dat portforwarding eigenlijk heel eenvoudig is. Het omleiden van extern ip-verkeer naar intern ip-verkeer is niet meer dan het slim omzetten van tcp-poorten en ip-adressen. Daarbij zijn de inkomende tcp-poorten altijd leidend. Zo’n inkomende tcp-poort kan doorverwijzen naar een compleet andere tcp-poort en een willekeurig intern ip-adres. Een kwestie van combineren dus.

Zo werkt portforwarding-18818330

© PXimport

Domeinnaam via ddns

06 Twee routers achter elkaar

Heb je één router, dan zal de beschreven procedure in dit artikel prima werken. Heb je echter twee routers achter elkaar, dan wordt het een stuk lastiger. Veel mensen hebben twee routers omdat bijvoorbeeld de wifi van de router van de internetprovider niet voldoet of omdat ze functionaliteit missen. Helaas is de router van de internetprovider doorgaans een modem-router die je niet zomaar kunt vervangen. Hang je een eigen router achter de modem-router van je internetprovider, dan werk je met een dubbele nat. Je moet de portforwarding dan op twee routers instellen. Dat wordt al snel een hele administratieve klus als je meerdere apparaten bereikbaar wilt maken. Gelukkig is er een eenvoudigere truc om de portforwarding simpeler te maken. De oplossing is de dmz (demilitarized zone) van de router van je internetprovider.

Een apparaat dat in de dmz hangt, is direct bereikbaar vanaf internet zonder dat daar nog een bescherming tussen zit. Alle poorten staan dus open. Dat is in het geval van je eigen router natuurlijk geen probleem.

07 Dmz instellen

Log in op de router van je internetprovider en achterhaal welk ip-adres aan je eigen router is toegekend. Zoek vervolgens in de webinterface naar de opties voor dmz en vul hier het ip-adres in dat is toegekend aan je eigen router. Om helemaal zeker te weten dat dit altijd goed gaat, kun je het ip-adres dat is toegekend aan je eigen router vastzetten door een ip-reservering. Zoek naar een optie als Static Lease, DHCP Binding of DHCP Reservering. Hier kun je een mac-adres vastkoppelen aan een ip-adres. Onder andere routers van Ziggo en KPN bieden een dmz-functie.

Deel dit artikel
Voeg toe aan favorieten
ID.nl logo

ID.nl, onderdeel van Reshift BV, is in 2022 gestart en uitgegroeid tot de meest toonaangevende en complete consumentensite van Nederland. Het doel van ID.nl is om de consument te helpen met alle technologie die hoort bij het dagelijks leven: van smart-health-meters tot e-bikes, van warmtepompen tot zonnepanelen - en alles daar tussenin!

Duidelijk, betrouwbaar en onafhankelijk: ID.nl maakt moeilijke dingen makkelijk.

Contact

ID.nl

Nijverheidsweg 18

2031 CP Haarlem

info@id.nl

Telefoon: 023-5430000