Port Forwarding & UPnP: Wat, waarom en hoe?

  • 5 April 2015
  • 106 reacties
  • 178575 keer bekeken

Reputatie 7
Wat is UPnP en Port-forwarding nu eigenlijk en waarom gebruiken we het:

Wil jij een apparaat op jouw eigen netwerk vanaf het Internet kunnen benaderen, dan moet de "bewegwijzering" goed ingesteld zijn. UPnP en port-forwarding spelen een essentiƫle rol in deze "bewegwijzering".

Op Internet draait alles om IP adressen en poorten. Zo heeft jouw Experia Box Ć©Ć©n publiek IP adres (in de consumenten markt) en zijn al jouw apparaten dus op dat ene IP adres te benaderen.
De poorten zijn onderverdeeld in twee groepen (TCP en UDP) en staan eigenlijk voor protocollen of functionaliteit. Zo is TCP poort 80 het HTTP protocol, TCP poort 443 het HTTPS protocol en UDP 5060 het SIP (telefonie) protocol.

Elk datapakketje dat op Internet verstuurd wordt is voorzien van een afzender (IP-adres en poortnummer) en een geadresseerde (IP-adres en poortnummer).
Tik jij bijvoorbeeld in jouw browser http://www.kpn.com, dan wordt eerst via de DNS server bepaald wat het IP adres van www.kpn.com is (62.132.193.64) en vervolgens wordt een bericht naar dat IP adres en TCP poort 80 gestuurd. Probeer maar, http://62.132.193.64 brengt je ook op de site van KPN.

Tik jij in een browser "http://jouw publieke IP adres" (Bijvoorbeeld: http://89.45.67.123) dan wordt het bericht dus naar jouw router gestuurd op TCP poort 80. Maar ja, dan moet het dus nog door naar het apparaat op jouw lokale netwerk die het antwoord moet gaan geven.

Dit is waar de NAT (Network Address Translation) functionaliteit van jouw Experia Box in actie komt.

Op basis van de gedefinieerde port-forwardings wordt het LAN IP adres bepaald waar het bericht naar doorgestuurd moet worden. Als je bijvoorbeeld een port-forwarding voor TCP poort 80 naar het LAN IP adres 192.168.2.100 hebt gedefinieerd, dan wordt het bericht daar naar doorgestuurd.

Nu zijn er twee manieren om port-forwardings op de Experia Box te definiƫren:
  1. UPnP
  2. Port forwarding (of Port mapping of de V8)
UPnP doet eigenlijk niets anders dan het automatisch aanmaken van port-forwardings op de Experia Box. Dit is dus de meest eenvoudige methode, maar daarvoor moet het aangesloten apparaat dus wel UPnP ondersteunen en moet de UPnP IGD functionaliteit op de Experia Box aangezet worden. Gelukkig zijn er steeds meer apparaten die UPnP ondersteunen en daarmee wordt dus vermeden dat een eindgebruiker zelf handmatig port-forwardings moet maken.

Hoe kunnen we Port-forwardings definiƫren op een Experia Box:

Automatisch met behulp van UPnP:
Als jouw apparaat UPnP ondersteunt, zet dan UPnP IGD op de Experia Box aan en daarmee is jouw apparaat vanaf Internet bereikbaar. Het aan- en uitzetten van UPnP IGD kan je doen op de Experia Box.
  • Arcadyan ARV7519(i) en VGV7519 (V8): Op de pagina EXTRAS -> UPnP
  • ZTE H220N en ZTE H368N (V9): Application -> UPnP IGD
  • ZTE H369A (V10): Settings -> UPnP IGD
Een voorwaarde voor een apparaat om gebruik te mogen maken van UPnP is (officieel) dat dit apparaat zijn IP adres van de DHCP server van de Experia Box heeft gekregen. Stel dus altijd op zo'n apparaat in dat deze zijn IP adres automatisch (via DHCP) verkrijgt.

Wil je ook dat het IP adres van het apparaat niet zal wijzigen dan stel je dit in door een static DHCP (V8) of DHCP Binding (ZTE's) te definiƫren voor het apparaat.
  • Arcadyan ARV7519(i) en VGV7519 (V8): Op de pagina START -> LAN -> static DHCP
  • ZTE H220N en ZTE H368N (V9): Network -> DHCP -> DHCP Binding
  • ZTE H369A (V10): Settings -> DHCP -> DHCP Binding
Hierbij is wel Ć©Ć©n belangrijk aandachtspunt:
Helaas kan je op de Experia Box niet aangeven welke aangesloten apparaten gebruik mogen maken van UPnP en daarmee zijn alle apparaten die over UPnP functionaliteit beschikken in staat om zichzelf (al dan niet gewenst) bereikbaar te maken vanaf Internet.
Wil je niet dat een apparaat zichzelf vanaf Internet bereikbaar kan maken, zet dan UPnP op dat apparaat uit. Kan UPnP op zo'n apparaat niet uitgezet worden, overweeg dan toch om handmatig port-forwardings in te stellen en zet dan UPnP IGD op de Experia Box toch maar uit.
Het zou mooi zijn als KPN (en andere leveranciers van routers) ooit nog eens met de functionaliteit zouden komen om (net als bij de wifi access control) op basis van MAC adres apparaten toe te staan om gebruik te maken van UPnP.

Handmatig met behulp van Port-forwardings:
Ondersteunt jouw apparaat geen UPnP of wil je geen gebruik maken van UPnP, dan zal je dus handmatig port-forwardings moeten definiƫren.

Je doet er dan verstandig aan om het onderstaande stappenplan te volgen:

Zorg er voor dat het IP adres van het apparaat niet zal wijzigen.
Bij voorkeur doe je dit door het apparaat te configureren zodat deze zijn IP adres automatisch (via DHCP) verkrijgt en definieer je een static DHCP (V8) of DHCP Binding (ZTE's) voor het apparaat.
  • Arcadyan ARV7519(i) en VGV7519 (V8): Op de pagina START -> LAN -> static DHCP
  • ZTE H220N en ZTE H368N (V9): Network -> DHCP -> DHCP Binding
  • ZTE H369A (V10): Settings -> DHCP -> DHCP Binding
Alternatief is dat het IP adres vast op het apparaat ingesteld wordt, maar persoonlijk prefereer ik echt dat alle apparaten hun IP adressen van de DHCP server krijgen.

Test of je het apparaat op jouw lokale netwerk voor de gewenste functionaliteit goed kunt benaderen. Zolang dat niet 100% goed werkt heeft het ook geen zin om met de port-forwardings te beginnen.
Noteer hierbij het IP adres van het apparaat en de poort(en) die gebruikt worden, ook of het TCP of UDP poorten betreft. (Raadpleeg eventueel de handleiding van het apparaat voor het vaststellen van deze poorten.)

Als op jouw LAN alles goed werkt, dan kunnen de port-forwardings ingesteld gaan worden:

Arcadyan ARV7519(i) en VGV7519 (V8):

Ga naar de pagina DATA -> NAT -> Port mapping en vul voor elke te gebruiken poort een regel in waarbij het IP adres gevuld wordt met het LAN IP adres van het apparaat, het protocol type met het type van de door de sturen poort (TCP of UDP) en zowel de LAN als publieke poort met het poort nummer.

ZTE H220N en ZTE H368N (V9):

Ga naar de pagina Application -> Port-Forwarding.
Kies voor "Click here to add an application".
Geef de application een voor jou herkenbare naam en voeg voor elke te gebruiken poort een entry toe door het protocol te vullen met het type van de door te sturen poort en de Start Port, End Port, Start Mapping Port en End Mapping Port met het poort nummer.

Als alle poorten zijn opgenomen, click dan op "back" en wijs de net aangemaakte application toe aan het IP adres van het apparaat.

ZTE H369A (V10):

Ga naar de pagina Settings -> Port-Forwarding IPv4.
Klik op Create New Application en kies voor "Create new Item".
Vul een voor jou herkenbare naam in en druk op Apply.
Klik op Modify Application en selecteer jouw Application in de dropdown.

Voeg voor elke te gebruiken poort een entry toe (Create New Item) en vul het protocol met het type van de door te sturen poort en de Start Port, End Port, Start Mapping Port en End Mapping Port met het poort nummer.

Het apparaat zou nu ook vanaf Internet bereikbaar moeten zijn op jouw publieke IP adres.

Extern (op Internet) een andere poort gebruiken dan intern (op het LAN):

Soms is het verstandig of noodzakelijk om extern (op Internet) een ander poort nummer te gebruiken dan die intern (op het LAN) gebruikt wordt.

Zo doe je er verstandig aan om een camera niet op poort 80 (standaard HTTP) beschikbaar te stellen of is het noodzakelijk om een andere poort te gebruiken omdat er meer dan Ć©Ć©n apparaat in jouw lokale netwerk aanwezig is die een bepaalde poort gebruikt.

Op de Arcadyan ARV7519(i) en VGV7519 (V8) doe je dit door bij de publieke poort het poortnummer (tussen 1025 en 65535) in te geven waarop je deze op Internet beschikbaar wilt stellen.

Op de ZTE H220N, ZTE H368N (V9) en ZTE H369A (V10) doe je dit door bij Start Port en End Port het poortnummer (tussen 1025 en 65535) in te geven waarop je deze op Internet beschikbaar wilt stellen.

In een browser vul je dan de URL aan met :<poortnummer>.

Heb je bijvoorbeeld een camera en een webserver op jouw lokale netwerk die beide "naar TCP poort 80 luisteren", dan gebruik je in de port-forwarding voor de camera intern TCP poort 80 en extern bijvoorbeeld TCP poort 4080 terwijl de port-forwarding voor de webserver zowel extern als intern TCP poort 80 gebruikt wordt.

Als je nu in een browser http://<jouw publiek IP adres> gebruikt, dan kom je op de webserver uit terwijl http://<jouw publiek IP adres>:4080 je bij de camera zal brengen.

Aandachtspunten en valkuilen:
De Arcadyan VGV7519 lijkt een probleem te hebben met de NAT loopback. Als je dus test of jouw apparaat vanaf Internet benaderbaar is, zorg dan dat het apparaat waarmee je dat test (telefoon/tablet) niet met de wifi verbonden is, maar via 3/4G.

Als je op een ZTE H220N of ZTE H368N een application wijzigt, dan wordt dit niet direct doorgevoerd. Ontkoppel de application van het IP adres en koppel deze opnieuw. Dan zullen de wijizigingen wel geactiveerd worden.

Mocht jij overigens een andere Experia Box hebben dan een Arcadyan ARV7519(i), VGV7519 (V8), ZTE H220N, ZTE H368N (V9) of ZTE H369A (V10), neem dan contact op met KPN, jouw Experia Box is verouderd en nodig aan vervanging toe.

Dit topic is gesloten. Staat je antwoord hier niet bij, gebruik dan de zoekfunctie van de Community of stel je vraag in een nieuw topic.

106 reacties

Reputatie 5

@Robert48

Een router als switch gebruiken is niet aan te bevelen. Om vreemd gedrag uit te sluiten zou ik die tweede router verwijderen en je netwerk configuratieĀ in orde brengen metĀ adressen uitĀ de Experia V10 range zoals al aangeven doorĀ @Joris62Ā enĀ @hmmsjan_2Ā .

Daarnaast kan je mbv deĀ ONVIF Device Manager in de "Network settingsā€ proberen om de RTSP port te wijzigen van ā€œ8554ā€ naar bv ā€œ8556ā€ ( mbv save knop). Probeer ook een restart van de camera, om te zien of de poort daadwerkelijk aangepast blijft...

Als deze waarde ook daadwerkelijk aangepast wordt in de camera heb je kans dat het met port forwarding kan gaan werken, mits de ONVIF software in de camera niet een hardcoded poort ā€œ8554ā€ gebruikt.

Ā 

@hmmsjan_2Ā 

Interessante analyse.
Oorspronkelijk hingen beide cams aan een server in verweggiestan (China...) en konden met de bijgeleverde software via het internet worden bekeken. Ook waren ze op die manier redelijk beveiligd. Maar helaas sinds een paar maanden is die server uit de lucht en werkt dat niet meer. Om die reden probeer ik een andere oplossing te vinden en door er wat vreemde poortnummers aan te hangen een soort van beveiliging te bereiken.

@RadiomanĀ 
Echter die poorten zijn fixed denk ik. Ik kan ze in ONVIF Device Manager niet aanpassen. Op die manier had ik dan verschil tussen beide cams kunnen maken. Wat ik wel kon aanpassen is de DNS en Gateway. Dat heb ik nu aangepast naar die van de V10. So far so goodā€¦.

Ik denk dat ik het maar opgeef. Misschien kan ik nog ergens de firmware van de cams vinden waar het wel mogelijk is om de poorten aan te passen. Dank iedereen voor het meedenken!

Reputatie 5
Badge +5

Nou ja, opgeven is toch jammerā€¦.. Ik heb gelezen dat RTSP een oud protocol is uit de tijd dat de router routeerbare adressen gaf en NAT en port forwarding niet bestonden. Een daarmee nu dezelfde problemen heeft als bijv. klassieke FTP. Het is puur speculatie, maar ik zou haast denken dat de Experia box een ā€œNAT helperā€ heeft die bij de echte RTSP poort ervoor zorgt dat de verbinding functioneert, maar bij een hogere poort dus niet. Maar er zijn mensen die meerdere cameraā€™s voor elkaar krijgen, dus mogelijk ben ik abuis...

Ik weet niet hoeveel kennis van Windows, Linux en routing voorhanden is, maar ik zou zelf Wireguard op de PC zetten, en de default route van de cameraā€™sĀ  naar de PC laten wijzen. Wireguard is een eenvoudige VPN of tunnel, daar zijn de meningen over verdeeld, die maar een vrij te kiezen UDP poort nodig heeft. Twee sleutels en optioneel een pre-shared key moeten uitgewisseld worden, bij een telefoon kan dit via QR-code. Ā  ( Let op: ik heb totaal geen ervaring met Wireguard onder Windows). Als een PC aan laten staan niet gewenst is, kan een Raspberry Pi met veel minder energieverbruikĀ  als VPN eindpunt functioneren.

Succes!

Ā 

Reputatie 5
Badge +5

Een nuance: er zijn uitbreidingen in het RTSP protocol die helpen bij cameraā€™s achter een NAT router. Met de originele RTSP verbaast het me meer dat het wel werkt danĀ  dat het niet werkt. Of en hoe de fabrikant die uitbreidingen implementeert kan dus een rol spelen.

Origineel is de stream is een nieuwe verbinding van camera naar programma, dus dan gaat de firewall aan de andere kant ook een rol spelen. UDP poorten met hoge nummers zouden open moeten staan. Op een telefoon zou carrier-NAT een volgende hindernis kunnen zijn.

Misschien dat het helpt om een camera expliciet te stoppen met streamenĀ  voordat de andere wordt bekeken.

Ā 

@hmmsjan_2Ā 
Dank voor de aanvullende info. Ik ga het Ć©Ć©n en ander proberen. Voor mij allemaal redelijk nieuw dus zal wel enige tijd kosten. Mogelijk dat ik een RPi ga inzetten. Mocht het lukken dan zal ik hier delen.

Reputatie 5
Badge +5

Nog wat laatste info van VLC ā†’ PfSense firewall VM ā†’ VLC:

PFsense verandert het source-poort nummer aan de "WAN" kant vanwege NAT. Bij deze implementatie van RTSP hindert dat niet, want de UDP stream wordt via de RTSP verbinding gestart, de ontvanger hoeft alleen maar te luisteren op de afgesproken "destination" poort en geen verbinding te maken met die onbekende poort.

Geen probleem met een 8555-8554 mapping.

Het kan natuurlijk bij de gebruikte cameras anders zijn.