Hoewel moderne routers de meeste functies automatisch afhandelen, vereisen sommige applicaties dat u handmatig een poort naar die applicatie of dat apparaat doorstuurt. Gelukkig is het heel eenvoudig om te doen als u weet waar u moet zoeken.
Wat is port forwarding?
Er zijn tal van projecten die we hebben behandeld die uw computer gebruiken als server voor andere apparaten. Als u zich binnen uw netwerk bevindt, werken de meeste dingen prima. Maar sommige apps, als u ze wilt openen wanneer u zich buiten uw netwerk bevindt, maken de zaken aanzienlijk behaagder. Laten we beginnen met te kijken waarom dat zo is.
Hoe uw router omgaat met verzoeken en poorten gebruikt
Hier is een kaart van een eenvoudig thuisnetwerk. Het cloudpictogram staat voor het grotere internet en uw openbare of naar voren gerichte IP-adres (Internet Protocol). Dit IP-adres vertegenwoordigt uw hele huishouden uit de buitenwereld - in zekere zin als een straatadres.
Het rode adres 192.1.168.1 is het routeradres binnen uw netwerk. De extra adressen behoren allemaal tot de computers die onder aan de afbeelding worden weergegeven. Als uw openbare IP-adres als een straatadres is, denk dan aan de interne IP-adressen zoals appartementnummers voor dat adres.
Het diagram roept een interessante vraag op waar je misschien nog niet eerder aan hebt gedacht. Hoe komt alle informatie van internet op het juiste apparaat binnen het netwerk terecht? Als u howtogeek.com op uw laptop bezoekt, hoe komt het dan op uw laptop terecht en niet op de desktop van uw zoon als het openbare IP-adres voor alle apparaten hetzelfde is?
Dit is te danken aan een geweldig stukje routeringsmagie dat bekend staat als een Network Address Translation (NAT). Deze functie doet zich voor op het niveau van de router, waar de NAT fungeert als een verkeersagent, die de stroom van netwerkverkeer door de router stuurt, zodat een enkel openbaar IP-adres kan worden gedeeld door alle apparaten achter de router. Dankzij de NAT kan iedereen in uw huishouden tegelijkertijd websites en andere internetinhoud opvragen en het wordt allemaal op het juiste apparaat afgeleverd.
Dus waar komen poorten in dit proces terecht? Poorten zijn een oud maar nuttig overblijfsel uit de begintijd van netwerkcomputers. Vroeger, toen computers maar één applicatie tegelijk konden draaien, hoefde je alleen maar de ene computer naar een andere computer in het netwerk te richten om ze te verbinden, omdat ze dezelfde applicatie zouden draaien. Toen computers eenmaal geavanceerd werden om meerdere applicaties uit te voeren, moesten vroege computerwetenschappers worstelen met de kwestie om ervoor te zorgen dat applicaties verbonden waren met de juiste applicaties. Zo werden havens geboren.
Sommige poorten hebben specifieke toepassingen die standaard zijn in de computerindustrie. Wanneer u bijvoorbeeld een webpagina ophaalt, wordt poort 80 gebruikt. De software van de ontvangende computer weet dat poort 80 wordt gebruikt voor het leveren van http-documenten, dus luistert het daarheen en reageert het dienovereenkomstig. Als u een http-verzoek verzendt via een andere poort, bijvoorbeeld 143, zal de webserver het niet herkennen omdat het daar niet luistert (hoewel er iets anders kan zijn, zoals een IMAP-e-mailserver die traditioneel die poort gebruikt).
Andere poorten hebben geen vooraf toegewezen gebruik en u kunt ze gebruiken voor wat u maar wilt. Om te voorkomen dat andere applicaties die aan de normen voldoen, worden gestoord, kunt u het beste grotere getallen gebruiken voor deze alternatieve configuraties. Plex Media Server gebruikt bijvoorbeeld poort 32400 en Minecraft-servers gebruiken 25565 - beide nummers die binnen dit "fair game" -gebied vallen.
Elke poort kan worden gebruikt via TCP of UDP. TCP, of Transmission Control Protocol, wordt het meest gebruikt. UDP, of User Datagram Protocol, wordt minder vaak gebruikt in thuistoepassingen met één grote uitzondering: BitTorrent. Afhankelijk van wat er luistert, verwacht het dat verzoeken worden gedaan in het ene of het andere van deze protocollen.
Waarom u poorten moet doorsturen
Dus waarom zou je poorten precies moeten doorsturen? Hoewel sommige applicaties gebruik maken van NAT om hun eigen poorten in te stellen en alle configuratie voor je af te handelen, zijn er nog steeds genoeg applicaties die dat niet doen, en je moet je router een handje helpen als het gaat om het verbinden van services en applicaties. .
In het onderstaande diagram beginnen we met een eenvoudig uitgangspunt. U bevindt zich ergens ter wereld op uw laptop (met IP-adres 225.213.7.32) en u wilt verbinding maken met uw thuisnetwerk om toegang te krijgen tot enkele bestanden. Als u gewoon uw IP-adres thuis (127.34.73.214) aansluit op het hulpprogramma dat u gebruikt (bijvoorbeeld een FTP-client of externe desktoptoepassing), en dat hulpprogramma geen gebruik maakt van de geavanceerde routerfuncties die we zojuist noemden, je hebt geen geluk. Hij weet niet waar hij uw verzoek naartoe moet sturen en er gebeurt niets.
Dit is trouwens een Super goed beveiligingsfunctie. Als iemand verbinding maakt met uw thuisnetwerk en ze zijn niet verbonden met een geldige poort, dan bent u willen de verbinding om te worden afgewezen. Dat is het firewall-element van uw router die zijn werk doet: ongewenste verzoeken afwijzen. Als jij echter degene bent die op je virtuele deur klopt, dan is de afwijzing niet zo welkom en moeten we een kleine aanpassing doen.
Om dat probleem op te lossen, wil je tegen je router zeggen "hey: wanneer ik je benader met dit programma, moet je het via deze poort naar dit apparaat sturen". Met deze instructies zorgt uw router ervoor dat u toegang heeft tot de juiste computer en applicatie op uw thuisnetwerk.
Dus in dit voorbeeld, wanneer u onderweg bent en uw laptop gebruikt, gebruikt u verschillende poorten om uw verzoeken te doen. Wanneer u via poort 22 toegang krijgt tot het IP-adres van uw thuisnetwerk, weet uw router thuis dat dit naar 192.168.1.100 binnen het netwerk moet gaan. Dan zal de SSH-daemon op uw Linux-installatie reageren. Tegelijkertijd kunt u een verzoek indienen via poort 80, die uw router naar de webserver op 192.168.1.150 stuurt. Of u kunt proberen de laptop van uw zus op afstand te bedienen met VNC, en uw router zal u verbinden met uw laptop op 192.168.1.200. Op deze manier kunt u eenvoudig verbinding maken met alle apparaten waarvoor u een poort doorsturen-regel heeft ingesteld.
Het nut van port forwarding houdt hier echter niet op! U kunt zelfs port forwarding gebruiken om de poortnummers van bestaande services te wijzigen voor duidelijkheid en gemak. Stel dat u twee webservers op uw thuisnetwerk heeft en u wilt dat er één direct en duidelijk toegankelijk is (het is bijvoorbeeld een weerserver waarvan u wilt dat mensen ze gemakkelijk kunnen vinden) en de andere webserver is voor een persoonlijke project.
Wanneer u toegang krijgt tot uw thuisnetwerk via poort 80 die naar het publiek is gericht, kunt u uw router vertellen om het naar poort 80 op de weerserver op 192.168.1.150 te sturen, waar het naar poort 80 zal luisteren. Maar u kunt het uw router vertellen dat wanneer je het via poort 10.000 opent, dat het naar poort 80 op je persoonlijke server, 192.168.1.250. Op deze manier hoeft de tweede computer niet opnieuw te worden geconfigureerd om een andere poort te gebruiken, maar kunt u het verkeer nog steeds effectief beheren - en door de eerste webserver gekoppeld te laten aan poort 80 maakt u het gemakkelijker voor mensen die toegang krijgen tot uw eerder genoemd weerserverproject.
Nu we weten wat port forwarding is en waarom we het misschien willen gebruiken, laten we eens kijken naar enkele kleine overwegingen met betrekking tot port forwarding voordat we ons gaan verdiepen in het daadwerkelijk configureren ervan.
Overwegingen voordat u uw router configureert
Er zijn een paar dingen waar u rekening mee moet houden voordat u gaat zitten om uw router te configureren en als u deze van tevoren doorloopt, wordt de frustratie gegarandeerd.
Stel een statisch IP-adres in voor uw apparaten
Allereerst vallen al uw regels voor poortdoorschakeling uit elkaar als u ze toewijst aan apparaten met dynamische IP-adressen die zijn toegewezen door de DHCP-service van uw router. We gaan in op de details van waar DHCP in zit dit artikel over DHCP vs. statische IP-adrestoewijzingen , maar we geven u hier een korte samenvatting.
VERWANT: Hoe u statische IP-adressen op uw router instelt
Uw router heeft een pool met adressen die hij reserveert om uit te delen aan apparaten die zich bij het netwerk aansluiten en weer verlaten. Zie het als een nummer krijgen bij een diner wanneer je aankomt - je laptop doet mee, boem, hij krijgt IP-adres 192.168.1.98. Je iPhone doet mee, boem, het krijgt adres 192.168.1.99. Als je die apparaten voor een bepaalde tijd offline haalt of de router wordt opnieuw opgestart, dan gebeurt de hele IP-adresloterij opnieuw.
Onder normale omstandigheden is dit meer dan prima. Het maakt je iPhone niet uit welk intern IP-adres hij heeft. Maar als u een regel voor poortdoorschakeling heeft gemaakt die zegt dat uw gameserver zich op een bepaald IP-adres bevindt en de router deze vervolgens een nieuw adres geeft, zal die regel niet werken en kan niemand verbinding maken met uw gameserver. Om dit te voorkomen, moet u een statisch IP-adres toewijzen aan elk netwerkapparaat waaraan u een regel voor poortdoorschakeling toewijst. De beste manier om dat te doen is via uw router: bekijk deze gids voor meer informatie.
Ken uw IP-adres (en stel een dynamisch DNS-adres in)
Naast het gebruik van statische IP-toewijzingen voor de relevante apparaten in uw netwerk, wilt u ook weten wat uw externe IP-adres is. U kunt dit vinden door naar whatismyip.com terwijl u zich op uw thuisnetwerk bevindt. Hoewel het mogelijk is dat u maanden of zelfs meer dan een jaar hetzelfde openbare IP-adres hebt, kan uw openbare IP-adres veranderen (tenzij uw internetprovider u expliciet een statisch openbaar IP-adres heeft gegeven). Met andere woorden, u kunt er niet op vertrouwen dat u uw numerieke IP-adres intypt in welke externe tool u ook gebruikt (en u kunt er niet op vertrouwen dat u dat IP-adres aan een vriend geeft).
VERWANT: Hoe u overal gemakkelijk toegang krijgt tot uw thuisnetwerk met dynamische DNS
Nu, terwijl u het gedoe zou kunnen hebben om dat IP-adres handmatig te controleren elke keer dat u het huis verlaat en van plan bent om buitenshuis te werken (of elke keer dat uw vriend verbinding maakt met uw Minecraft-server of iets dergelijks), is dat een grote hoofdpijn. In plaats daarvan raden we je ten zeerste aan om een Dynamic DNS-service op te zetten waarmee je je (veranderende) IP-adres thuis kunt koppelen aan een gedenkwaardig adres zoals mysuperawesomeshomeserver.dynu.net. Raadpleeg voor meer informatie over het opzetten van een dynamische DNS-service met uw thuisnetwerk onze volledige tutorial hier .
Besteed aandacht aan lokale firewalls
Nadat u de port forwarding op router-niveau hebt ingesteld, is het mogelijk dat u de firewallregels ook op uw computer moet aanpassen. We hebben bijvoorbeeld in de loop der jaren veel e-mails ontvangen van gefrustreerde ouders die port forwarding instellen, zodat hun kinderen Minecraft met hun vrienden kunnen spelen. In bijna alle gevallen is het probleem dat ondanks het correct instellen van de regels voor poortdoorschakeling op de router, iemand negeerde het Windows-firewallverzoek vragen of het oké was of het Java-platform (waarop Minecraft draait) toegang had tot het grotere internet.
Houd er rekening mee dat u op computers met een lokale firewall en / of antivirussoftware die firewallbescherming bevat, waarschijnlijk moet controleren of de verbinding die u heeft ingesteld, in orde is.
Stap één: zoek de regels voor poort doorsturen op uw router
Uitgeput door alle netwerklessen? Maak je geen zorgen, het is eindelijk tijd om het op te zetten - en nu je de basis kent, is het vrij eenvoudig.
Hoe graag we ook exacte instructies voor uw exacte router willen geven, de realiteit is dat elke routerfabrikant zijn eigen software heeft en hoe die software eruitziet, kan zelfs per routermodel verschillen. In plaats van te proberen elke variatie vast te leggen, zullen we er een paar uitlichten om u een idee te geven hoe het menu eruitziet en we moedigen u aan om de handleiding of online helpbestanden voor uw specifieke router op te zoeken om de details te vinden.
Over het algemeen ga je op zoek naar iets dat - je raadt het al - "Port Forwarding" heet. Mogelijk moet u de verschillende categorieën doorzoeken om het te vinden, maar als uw router goed is, zou deze daar moeten zijn.
Ter vergelijking: hier is hoe het poortdoorschakelingsmenu eruitziet op de D-Link DIR-890L-router:
En hier is hoe het port forwarding-menu eruitziet op dezelfde router waarop het populaire DD-WRT-firmware van derden :
Zoals u kunt zien, varieert de complexiteit tussen de twee weergaven enorm, zelfs op dezelfde hardware. Daarnaast is de locatie binnen de menu's compleet anders. Als zodanig is het het handigst als u de exacte instructies voor uw apparaat opzoekt met behulp van de handleiding of een zoekopdracht.
Zodra u het menu heeft gevonden, is het tijd om de daadwerkelijke regel in te stellen.
Stap twee: maak een regel voor poortdoorschakeling
Nadat je alles hebt geleerd over port forwarding, het opzetten van een dynamische DNS voor je IP-adres thuis en al het andere werk dat hieraan is besteed, is de belangrijkste stap - het creëren van de eigenlijke regel - zo ongeveer een wandeling in het park. In het port forwarding-menu op onze router gaan we twee nieuwe port forwarding-regels maken: een voor de Subsonic-muziekserver en een voor een nieuwe Minecraft-server die we zojuist hebben ingesteld.
Ondanks de verschillen in locatie op verschillende routersoftware, is de algemene invoer hetzelfde. Bijna universeel noemt u de regel voor poortdoorschakeling. Het is het beste om simpelweg de naam van de server of service te geven en deze indien nodig toe te voegen voor de duidelijkheid (bijv. 'Webserver' of 'Webserver-Weer' als er meer dan één is). Herinner je je het TCP / UDP-protocol waar we het in het begin over hadden? U moet ook TCP, UDP of beide opgeven. Sommige mensen zijn erg militant om erachter te komen welk protocol elke applicatie en service gebruikt en om dingen perfect op elkaar af te stemmen voor veiligheidsdoeleinden. We zullen de eersten zijn om toe te geven dat we in dit opzicht lui zijn en we kiezen bijna altijd 'Beide' om tijd te besparen.
Met sommige routerfirmware, waaronder de meer geavanceerde DD-WRT die we in de bovenstaande schermafbeelding gebruiken, kunt u een "Bron" -waarde specificeren, een lijst met IP-adressen waartoe u de poort om veiligheidsredenen beperkt. U kunt deze functie gebruiken als u dat wilt, maar wees gewaarschuwd: het introduceert een hele nieuwe reeks hoofdpijn, aangezien het veronderstelt dat externe gebruikers (inclusief u wanneer u niet thuis bent en vrienden die verbinding maken) statische IP-adressen hebben.
Vervolgens moet je de externe poort invoeren. Dit is de poort die op de router wordt geopend en naar internet gaat. U kunt hier elk gewenst nummer tussen 1 en 65353 gebruiken, maar praktisch de meeste van de lagere nummers worden ingenomen door standaarddiensten (zoals e-mail en webservers) en veel van de hogere nummers worden toegewezen aan vrij algemene toepassingen. Met dat in gedachten raden we u aan een getal boven de 5.000 te kiezen en, om extra veilig te zijn, Ctrl + F te gebruiken om hierin te zoeken lange lijst met TCP / UDP-poortnummers om ervoor te zorgen dat u geen poort selecteert die in strijd is met een bestaande service die u al gebruikt.
Voer ten slotte het interne IP-adres van het apparaat in, de poort die u op dat apparaat heeft en (indien van toepassing) schakel de regel in. Vergeet niet de instellingen op te slaan.
Stap drie: test uw regel voor poortdoorschakeling
De meest voor de hand liggende manier om te testen of uw port forward werkte, is door verbinding te maken met de routine die voor de port bedoeld is (laat bijvoorbeeld uw vriend zijn Minecraft-client verbinden met uw thuisserver), maar dat is niet altijd een onmiddellijk beschikbare oplossing als u niet weg bent van huis.
Gelukkig is er een handige kleine poortcontrole online beschikbaar op YouGetSignal.com . We kunnen testen om te zien of onze Minecraft-serverpoort vooruit is gegaan door simpelweg de poorttester te laten proberen er verbinding mee te maken. Voer uw IP-adres en het poortnummer in en klik op “Controleren”.
U zou een bericht moeten ontvangen, zoals hierboven te zien is, zoals "Poort X is open op [Your IP]". Als de poort wordt gerapporteerd als gesloten, controleer dan zowel de instellingen in het port forwarding-menu op uw router als uw IP- en poortgegevens in de tester.
Het is een beetje een gedoe om port forwarding in te stellen, maar zolang u een statisch IP-adres toewijst aan het doelapparaat en een dynamische DNS-server instelt voor uw IP-adres thuis, is het een taak die u maar één keer hoeft te bezoeken geniet in de toekomst van probleemloze toegang tot uw netwerk.