Hur du vidarebefordrar portar på din router

Även om moderna routrar hanterar de flesta funktioner automatiskt, kommer vissa applikationer att kräva att du manuellt vidarebefordrar en port till den applikationen eller enheten. Lyckligtvis är det väldigt enkelt att göra om du vet var du ska leta.

Vad är port vidarebefordran?

Det finns många projekt som vi har täckt som använder din dator som server för andra enheter. När du är inne i ditt nätverk kommer de flesta saker att fungera bra. Men vissa appar, om du vill komma åt dem när du är utanför ditt nätverk, gör sakerna betydligt hårigare. Låt oss börja med att titta på varför det är.

Hur din router hanterar förfrågningar och använder portar

Här är en karta över ett enkelt hemnätverk. Molnikonen representerar det större internet och din offentliga eller framåtvända IP-adress (Internet Protocol). Denna IP-adress representerar hela ditt hushåll från östvärlden - som en gatuadress, på ett sätt.

Den röda adressen 192.1.168.1 är routerns adress i ditt nätverk. De ytterligare adresserna tillhör alla datorerna som visas längst ner på bilden. Om din offentliga IP-adress är som en gatuadress, tänk på de interna IP-adresserna som lägenhetsnummer för den gatuadressen.

Diagrammet väcker en intressant fråga som du kanske inte har tänkt på tidigare. Hur kommer all information från internet till rätt enhet i nätverket? Om du besöker howtogeek.com på din bärbara dator, hur hamnar det på din bärbara dator och inte din sons skrivbord om den offentliga IP-adressen är densamma för alla enheter?

Detta är tack vare en underbar bit av routing-magi som kallas en Network Address Translation (NAT). Denna funktion inträffar på routernivå där NAT fungerar som en trafikman och styr flödet av nätverkstrafik genom routern så att en enda offentlig IP-adress kan delas mellan alla enheter bakom routern. På grund av NAT kan alla i ditt hushåll begära webbplatser och annat internetinnehåll samtidigt och allt kommer att levereras till rätt enhet.

Så var kommer portarna till den här processen? Hamnar är en gammal men användbar hållbarhet från de tidiga dagarna av nätverksdatorer. Tillbaka på dagen, när datorer bara kunde köra en applikation i taget, var allt du behövde göra att peka en dator på en annan dator i nätverket för att ansluta dem eftersom de skulle köra samma applikation. När datorerna blev sofistikerade för att köra flera applikationer, var tidiga datavetare tvungna att brottas med frågan om att säkerställa applikationer anslutna till rätt applikationer. Således föddes hamnar.

Vissa portar har specifika applikationer som är standarder i hela databranschen. När du till exempel hämtar en webbsida använder den port 80. Den mottagande datorns programvara vet att port 80 används för servering av http-dokument, så den lyssnar där och svarar därefter. Om du skickar en http-begäran över en annan port - säg 143 - känner inte webbservern igen den eftersom den inte lyssnar där (även om något annat kan vara, som en IMAP-e-postserver som traditionellt använder den porten).

Andra portar har inte förutbestämda användningar och du kan använda dem för vad du vill. För att undvika att störa andra standardbaserade applikationer är det bäst att använda större nummer för dessa alternativa konfigurationer. Plex Media Server använder till exempel port 32400, och Minecraft-servrar använder 25565 - båda siffror som faller inom detta "rättvisa" territorium.

Varje port kan användas antingen via TCP eller UDP. TCP, eller Transmission Control Protocol, är det som oftast används. UDP, eller User Datagram Protocol, används mindre i hemapplikationer med ett stort undantag: BitTorrent. Beroende på vad som lyssnar förväntas det att begäranden ska göras i det ena eller det andra av dessa protokoll.

Varför du behöver vidarebefordra hamnar

Så varför skulle du behöva vidarebefordra portar? Medan vissa applikationer utnyttjar NAT för att ställa in sina egna portar och hantera all konfiguration åt dig, finns det fortfarande många applikationer som inte gör det, och du måste ge din router en hjälpande hand när det gäller att ansluta tjänster och applikationer .

I diagrammet nedan börjar vi med en enkel förutsättning. Du är på din bärbara dator någonstans i världen (med en IP-adress 225.213.7.32) och du vill ansluta till ditt hemnätverk för att komma åt vissa filer. Om du helt enkelt ansluter din hem-IP-adress (127.34.73.214) till vilket verktyg du använder (till exempel en FTP-klient eller fjärrskrivbordsapplikation), och verktyget utnyttjar inte de avancerade routerfunktionerna som vi just nämnde, du har tur. Det vet inte vart du ska skicka din begäran, och ingenting kommer att hända.

Detta är förresten en  fantastisk säkerhetsfunktion. Om någon ansluter till ditt hemnätverk och de inte är anslutna till en giltig port, vill du  att anslutningen avvisas. Det är brandväggselementet i din router som gör sitt jobb: att avvisa ovälkomna förfrågningar. Om personen som bankar på din virtuella dörr dock är du, är avvisningen inte så välkommen och vi måste göra lite justeringar.

För att lösa det problemet vill du säga till din router "hej: när jag kommer åt dig med det här programmet måste du skicka det till den här enheten i den här porten". Med dessa instruktioner på plats kommer din router att se till att du kan komma åt rätt dator och applikation i ditt hemnätverk.

Så i det här exemplet, när du är ute och använder din bärbara dator, använder du olika portar för att göra dina önskemål. När du öppnar hemmanätverkets IP-adress med port 22, vet din router hemma att detta ska gå till 192.168.1.100 inuti nätverket. Då svarar SSH-demon på din Linux-installation. Samtidigt kan du göra en begäran via port 80, som din router kommer att skicka till webbservern på 192.168.1.150. Eller du kan försöka fjärrstyra din systers bärbara dator med VNC, och din router kommer att ansluta dig till din bärbara dator 192.168.1.200. På det här sättet kan du enkelt ansluta till alla enheter som du har ställt in en port-forward-regel för.

Nyttan med port vidarebefordran slutar inte där! Du kan till och med använda portvidarebefordran för att ändra befintliga tjänstes portnummer för tydlighet och bekvämlighet. Låt oss till exempel säga att du har två webbservrar som körs i ditt hemnätverk och att du vill att en ska vara lätt och uppenbarligen tillgänglig (till exempel är det en väderserver som du vill att folk ska kunna enkelt hitta) och den andra webbservern är för en personlig projekt.

När du kommer in i ditt hemnätverk från den offentliga porten 80 kan du be din router att skicka den till port 80 på väderservern 192.168.1.150, där den kommer att lyssna på port 80. Men du kan berätta för din router att när du kommer åt den via port 10.000, att den ska gå till port 80 på din personliga server, 192.168.1.250. På det här sättet behöver den andra datorn inte konfigureras om för att använda en annan port, men du kan fortfarande hantera trafik effektivt - och samtidigt genom att lämna den första webbservern länkad till port 80 gör du det lättare för personer som kommer ovan nämnda väderserverprojekt.

Nu när vi vet vad port vidarebefordran är och varför vi kanske vill använda den, låt oss ta en titt på några små överväganden när det gäller port vidarebefordran innan vi dyker in i att konfigurera den.

Överväganden innan du konfigurerar din router

Det finns några saker att tänka på innan du sätter dig ner för att konfigurera din router och att du går igenom dem i förväg kommer garanterat att minska frustrationen.

Ställ in statisk IP-adress för dina enheter

Först och främst kommer alla dina vidarebefordringsregler att falla sönder om du tilldelar dem till enheter med dynamiska IP-adresser som tilldelats av din routers DHCP-tjänst. Vi gräver i detaljerna om vad DHCP är i den här artikeln om DHCP kontra statiska IP-adressuppgifter, men vi ger dig en snabb sammanfattning här.

RELATERAD: Så här ställer du in statiska IP-adresser på din router

Din router har en pool av adresser som den reserverar bara för att dela ut till enheter när de går med och lämnar nätverket. Tänk på det som att få ett nummer på en matsal när du anländer - din bärbara dator går med, boom, den får IP-adress 192.168.1.98. Din iPhone går med, boom, den får adressen 192.168.1.99. Om du tar enheterna offline under en viss tid eller om routern startas om, så sker hela IP-adresslotteriet om igen.

Under normala omständigheter är detta mer än bra. Din iPhone bryr sig inte vilken intern IP-adress den har. Men om du har skapat en portvidarebefordringsregel som säger att din spelserver har en viss IP-adress och sedan ger routern den en ny, den regeln fungerar inte och ingen kommer att kunna ansluta till din spelserver. För att undvika det måste du tilldela en statisk IP-adress till varje nätverksenhet som du tilldelar en regel för portvidarebefordran. Det bästa sättet att göra det är via din router - kolla in den här guiden för mer information.

Känn din IP-adress (och ställ in en dynamisk DNS-adress)

Förutom att använda statiska IP-tilldelningar för relevanta enheter i ditt nätverk, vill du också vara medveten om din externa IP-adress - du kan hitta den genom att besöka whatismyip.com medan du är i ditt hemnätverk. Även om det är möjligt kan du ha samma offentliga IP-adress i flera månader eller till och med över ett år, men din offentliga IP-adress kan ändras (såvida inte din internetleverantör uttryckligen har gett dig en statisk allmänt vänd IP-adress). Med andra ord kan du inte lita på att skriva in din numeriska IP-adress i vilket fjärrverktyg du använder (och du kan inte lita på att ge den IP-adressen till en vän).

RELATERAD: Hur du enkelt kommer åt ditt hemnätverk var som helst med dynamisk DNS

Medan du kan gå igenom besväret med att manuellt kontrollera den IP-adressen varje gång du lämnar huset och tänker arbeta hemifrån (eller varje gång din vän kommer att ansluta till din Minecraft-server eller liknande), är det en stor huvudvärk. Istället rekommenderar vi starkt att du ställer in en dynamisk DNS-tjänst som gör att du kan länka din (ändrade) hem-IP-adress till en minnesvärd adress som mysuperawesomeshomeserver.dynu.net. För mer information om hur du skapar en dynamisk DNS-tjänst med ditt hemnätverk, kolla in vår fullständiga handledning här.

Var uppmärksam på lokala brandväggar

När du väl har konfigurerat vidarebefordran av port på routernivå finns det en möjlighet att du kan behöva justera brandväggsregler på din dator också. Till exempel har vi fått många e-postmeddelanden genom åren från frustrerade föräldrar som startar vidarebefordran så att deras barn kan spela Minecraft med sina vänner. I nästan alla fall är problemet att trots att de ställt in reglerna för vidarebefordran av port på rätt sätt, ignorerade någon Windows-brandväggsförfrågan och frågade om det var OK om Java-plattformen (som kör Minecraft) kunde komma åt större internet.

Tänk på att på datorer som kör lokal brandvägg och / eller antivirusprogram som inkluderar brandväggsskydd, kommer du sannolikt att behöva bekräfta att anslutningen du har skapat är okej.

Steg ett: Leta reda på reglerna för vidarebefordran av port på din router

Utmattad av alla nätverkslektioner? Oroa dig inte, det är äntligen dags att ställa in det - och nu när du känner till grunderna är det ganska enkelt.

Så mycket som vi gärna vill ge exakta instruktioner för din exakta router, är verkligheten att varje routertillverkare har sin egen programvara, och hur den ser ut kan till och med variera mellan routermodeller. Istället för att försöka fånga varje variant, kommer vi att markera några för att ge dig en uppfattning om hur menyn ser ut och uppmuntra dig att leta upp manualerna eller online-hjälpfilerna för din specifika router för att hitta detaljerna.

I allmänhet kommer du att leta efter något som heter - du gissade det - "Port Forwarding". Du kan behöva titta igenom de olika kategorierna för att hitta den, men om din router är bra bör den vara där.

För jämförelse, så här ser vidarebefordringsmenyn ut på D-Link DIR-890L-routern:

Och här ser portmenyn för vidarebefordran ut på samma router som kör den populära DD-WRT-firmware från tredje part:

Som du kan se varierar komplexiteten mellan de två vyerna mycket, även på samma hårdvara. Dessutom är platsen helt annorlunda inom menyerna. Som sådan är det mest användbart om du letar upp de exakta instruktionerna för din enhet med hjälp av manualen eller en sökfråga.

När du väl har hittat menyn är det dags att ställa in den faktiska regeln.

Steg två: Skapa en portvidarebefordringsregel

Efter att ha lärt dig allt om portvidarebefordran, ställa in en dynamisk DNS för din hem-IP-adress och allt annat arbete som gick in i detta, är det viktiga steget - att skapa den faktiska regeln - ganska mycket en promenad i parken. I port-vidarebefordringsmenyn på vår router ska vi skapa två nya regler för portvidarebefordran: en för Subsonic-musikservern och en för en ny Minecraft-server som vi just skapat.

Trots skillnaderna i placering på olika routerprogramvaror är den allmänna inmatningen densamma. Nästan universellt kommer du att namnge regeln för portvidarebefordran. Det är bäst att helt enkelt namnge det som servern eller tjänsten är och sedan lägga till den om det behövs för tydligheten (t.ex. “Webbserver” eller “Webbserver-Weather” om det finns fler än en). Kommer du ihåg TCP / UDP-protokollet vi pratade om i början? Du måste också ange TCP, UDP eller Both. Vissa människor är mycket militanta när det gäller att ta reda på exakt vilket protokoll varje applikation och tjänst använder och matcha saker perfekt för säkerhetsändamål. Vi kommer att vara de första som erkänner att vi är lata i detta avseende och vi väljer nästan alltid ”Båda” för att spara tid.

Vissa router-firmware, inklusive den mer avancerade DD-WRT som vi använder i skärmdumpen ovan, låter dig ange ett "Source" -värde som är en lista över IP-adresser som du begränsar porten till för säkerhetsändamål. Du kan använda den här funktionen om du vill, men var uppmärksam, det introducerar en helt ny mängd huvudvärk eftersom det förutsätter att fjärranvändare (inklusive dig när du är hemifrån och vänner som ansluter) har statiska IP-adresser.

Därefter måste du lägga in den externa porten. Detta är porten som kommer att vara öppen på routern och vänd mot internet. Du kan använda vilket nummer du vill här mellan 1 och 65353, men praktiskt taget de flesta av de lägre numren tas upp av standardtjänster (som e-post och webbservrar) och många av de högre numren tilldelas ganska vanliga applikationer. Med detta i åtanke rekommenderar vi att du väljer ett nummer över 5000 och, för att vara extra säkert, använder du Ctrl + F för att söka i den här långa listan med TCP / UDP-portnummer för att se till att du inte väljer en port som strider mot en befintlig tjänst du redan använder.

Slutligen sätter du in enhetens interna IP-adress, porten på enheten och (om tillämpligt) växlar regeln till. Glöm inte att spara inställningarna.

Steg tre: Testa din Port Forwarding-regel

Det mest uppenbara sättet att testa om din port framåt fungerade är att ansluta med den rutin som är avsedd för porten (t.ex. låta din vän ansluta sin Minecraft-klient till din hemserver), men det är inte alltid en direkt tillgänglig lösning om du inte är borta hemifrån.

Tack och lov finns det en praktisk liten portkontroll online på YouGetSignal.com. Vi kan testa för att se om vår Minecraft-serverport fortsatte helt enkelt genom att låta porttestaren försöka ansluta till den. Anslut din IP-adress och portnumret och klicka på "Kontrollera".

Du bör få ett meddelande, som visas ovan, som "Port X är öppen på [din IP]". Om porten rapporteras som stängd, dubbelkolla både inställningarna i portvidarebefordringsmenyn på din router och din IP- och portdata i testaren.

Det är lite krångel att ställa in vidarebefordran av portar, men så länge du tilldelar en statisk IP-adress till målenheten och ställer in en dynamisk DNS-server för din hem-IP-adress, är det en uppgift du bara behöver besöka en gång för njut av problemfri tillgång till ditt nätverk i framtiden.