Så vidarebefordrar du portar på routern
Ä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 verkligen enkelt att göra om du vet var du ska titta.
Vad är port vidarebefordran?
Det finns många projekt vi har täckt som använder din dator som en server för andra enheter. När du är inne i ditt nätverk fungerar de flesta saker bra. Men vissa appar, om du vill komma åt dem när du befinner dig 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 begäran och använder hamnar
Här är en karta över ett enkelt hemnätverk. Cloud-ikonen representerar större internet och din offentliga eller framåtriktade IP-adress (Internet Protocol). Denna IP-adress representerar hela ditt hushåll från oustidevärlden - som en gatuadress, på ett sätt.
Den röda adressen 192.1.168.1 är routerns adress inom ditt nätverk. De ytterligare adresserna hör till alla datorer som ses 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 adressen.
Diagrammet lyfter en intressant fråga som du kanske inte har tänkt på tidigare. Hur går all information från Internet till rätt enhet i nätverket? Om du besöker howtogeek.com på din bärbara dator, så slutar det på din bärbara dator och inte din sons skrivbord om den IP-adress som är öppen för allmänheten är densamma för alla enheter?
Detta beror på en underbar bit av routing magi som kallas Network Address Translation (NAT). Denna funktion uppträder på routernivån där NAT fungerar som en trafikpolis som styr flödet av nätverkstrafik via 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 det kommer alla att levereras till rätt enhet.
Så var kommer hamnar i denna process? Hamnar är en gammal men användbar fastighet från de tidiga dagarna av nätverksberäkning. Tillbaka till dagen, när datorer bara kunde köra en ansökan åt gången var allt du behöver göra var att peka en dator på en annan dator i nätverket för att ansluta dem eftersom de skulle köra samma program. När datorer blev sofistikerade för att köra flera applikationer, måste tidiga datavetenskapare kämpa med frågan om att säkerställa applikationer kopplade till rätt applikationer. Således föddes hamnar.
Vissa hamnar har specifika tillämpningar som är standarder i hela databehandlingsindustrin. När du hämtar en webbsida använder den till exempel port 80. Mottagarens programvara vet att port 80 används för att betjäna http-dokument, så det lyssnar där och svarar i enlighet därmed. Om du skickar en http-förfrågan över en annan port-säg 143-ser webben servern inte igen 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ördelade användningsområden, och du kan använda dem för vad du vill. För att undvika att störa andra standardabla applikationer är det bäst att använda större antal för dessa alternativa konfigurationer. Plex Media Server använder exempelvis port 32400 och Minecraft-servrar använder 25565-båda siffrorna som faller in i detta "rättvisa spel" -område.
Varje port kan användas via antingen TCP eller UDP. TCP, eller Transmission Control Protocol, är det som används mest. UDP, eller User Datagram Protocol, används mindre i hemmet applikationer med ett stort undantag: BitTorrent. Beroende på vad som lyssnar, väntar det att förfrågningar ska göras i ett eller annat av dessa protokoll.
Varför behöver du vidarebefordra hamnar
Så varför skulle du behöva vidarebefordra hamnar? Medan vissa applikationer utnyttjar NAT för att ställa in egna portar och hantera all konfiguration för dig, finns det fortfarande många program 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 på 225.213.7.42), och du vill ansluta till ditt hemnätverk för att komma åt vissa filer. Om du bara ansluter din hem-IP-adress (127.34.73.214) till det verktyg du använder (t.ex. en FTP-klient eller fjärrskrivbordsprogram), och det här verktyget utnyttjar inte de avancerade routerfunktionerna som vi just nämnde, du har ingen lycka till. Det vet inte vart du ska skicka din förfrågan, och ingenting kommer att hända.
Detta är förresten en bra säkerhetsfunktion. Om någon ansluter till ditt hemnätverk och de inte är anslutna till en giltig port, gör du det vilja Anslutningen för att bli avvisad. Det är brandväggen i din router som gör sitt jobb: att avvisa ovälkomna förfrågningar. Om personen som knackar på din virtuella dörr är du då är avvisningen inte så välkommen och vi måste göra lite tweaking.
För att lösa det problemet vill du berätta för 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 de här anvisningarna på plats kommer din router att se till att du får tillgång till rätt dator och program på ditt hemnätverk.
Så i det här exemplet, när du är ute och om och använder din bärbara dator, använder du olika portar för att göra dina förfrågningar. När du får tillgång till ditt hemnätverks IP-adress med port 22, vet routern hemma att det ska gå till 192.168.1.100 i nätverket. Då svarar SSH-demonen på din Linux-installation. Samtidigt kan du göra en förfrågan över port 80, som din router skickar till webbservern på 192.168.1.150. Eller du kan försöka fjärrkontrollera din systers bärbara dator med VNC, och din router kommer att ansluta dig till din bärbara dator vid 192.168.1.200. På det här sättet kan du enkelt ansluta till alla enheter du har ställt in en port forward-regel för.
Användbarheten av port vidarebefordran slutar inte där men! Du kan till och med använda port vidarebefordran för att ändra befintliga tjänster 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 du vill att en ska vara lätt och uppenbar tillgänglig (t.ex. det är en väderserver som du enkelt vill hitta) och den andra webbservern är personlig projekt.
När du kommer åt ditt hemnätverk från den offentliga porten 80 kan du berätta för din router att den skickas till port 80 på väderservern vid 192.168.1.150, där den kommer att lyssna i port 80. Men du kan berätta för din router att när du öppnar den via port 10 000, att den ska gå till port 80 på din privata server, 192.168.1.250. På så sätt behöver den andra datorn inte omkonfigureras för att använda en annan port, men du kan fortfarande hantera trafiken effektivt och samtidigt genom att lämna den första webbservern kopplad till port 80 gör du det enklare för personer att komma åt din ovannämnda väderserverprojekt.
Nu när vi vet vilken port vidarebefordran är och varför vi kanske vill använda den, låt oss ta en titt på några små överväganden om port vidarebefordran innan du dyker upp för att faktiskt konfigurera den.
Överväganden innan du konfigurerar routern
Det finns några saker att tänka på innan du sätter dig ner för att konfigurera din router och springa genom dem i förväg är garanterad att minska ner på frustrationen.
Ange statisk IP-adress för dina enheter
Först och främst kommer alla dina regler för port vidarebefordran att skilja sig från om du tilldelar dem enheter med dynamiska IP-adresser som tilldelats av din router DHCP-tjänst. Vi gräver i detaljer om vad DHCP finns i den här artikeln om DHCP vs statiska IP-adressuppgifter, men vi ger dig en snabb sammanfattning här.
Din router har en pool av adresser som den förbehåller sig bara för utdelning till enheter när de går och lämnar nätverket. Tänk på det som att få ett nummer på en middag när du anländer - din laptop går med, boom, det blir IP-adress 192.168.1.98. Din iPhone går med, boom, den blir adress 192.168.1.99. Om du tar de här enheterna offline för en tid eller om routern startas om, händer hela IP-adresslotteriet igen.
Under normala omständigheter är det mer än bra. Din iPhone bryr sig inte vilken intern IP-adress den har. Men om du har skapat en port-vidarebefordringsregel som säger att din spelserver har en viss IP-adress och då ger routern den en ny, den här 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 portpridningsregel till. 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 ange en dynamisk DNS-adress)
Förutom att använda statiska IP-uppdrag för de relevanta enheterna i ditt nätverk, vill du också vara medveten om din externa IP-adress. Du kan hitta den genom att besöka whatismyip.com i ditt hemnätverk. Även om det är möjligt att du kanske har samma offentliga IP-adress i flera månader eller till och med över ett år, kan din offentliga IP-adress ändras (såvida inte din internetleverantör uttryckligen har gett dig en statisk IP-adress). Med andra ord kan du inte lita på att skriva i din numeriska IP-adress till det fjärrverktyg du använder (och du kan inte förlita dig på att ge den IP-adressen till en vän).
Nu, medan du kan gå igenom krånget för 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), det är en stor huvudvärk. I stället rekommenderar vi starkt att du konfigurerar en dynamisk DNS-tjänst som gör att du kan länka din (ändrande) hemadress till en minnesvärd adress som mysuperawesomeshomeserver.dynu.net. För mer information hur du konfigurerar 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 har ställt in portöverföringen på routernivån finns det en möjlighet att du kanske behöver tweaka brandväggsregler på din dator. Till exempel har vi fått många e-postmeddelanden under åren från frustrerade föräldrar som ställer in portförmedling så att deras barn kan spela Minecraft med sina vänner. I nästan alla fall är problemet att trots att du ställde in portförmedlingsreglerna på routern korrekt ignorerade någon Windows-brandvägsförfrågan om den var OK om Java-plattformen (som kör Minecraft) skulle kunna få tillgång till det större internet.
Var medveten om att på datorer som kör lokal brandvägg och / eller antivirusprogram som innehåller brandväggsskydd måste du troligen bekräfta att anslutningen du har ställt in är okej.
Steg ett: Sök portväxlingsreglerna på routern
Utmattad av alla nätverkslektioner? Oroa dig inte, det är äntligen dags att ställa upp det - och nu när du vet grunderna är det ganska enkelt.
Så mycket som vi skulle älska att ge exakta instruktioner för din exakta router, är realiteten att varje routerproducent har sin egen programvara, och hur det ser ut som program kan ändå variera mellan routermodeller. Istället för att försöka fånga alla variationer markerar vi några för att ge dig en uppfattning om hur menyn ser ut och uppmanar dig att leta upp manuella eller onlinehjä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 leta igenom de olika kategorierna för att hitta den, men om routern är bra, borde den vara där.
Som jämförelse ser här hur porten vidarebefordrar menyn på D-Link DIR-890L router:
Och här är vad porten vidarebefordringsmenyn ser ut på samma router som kör den populära tredje parten DD-WRT-firmware:
Som du kan se varierar komplexiteten mellan de två vyerna kraftigt, även på samma hårdvara. Dessutom är platsen helt annorlunda inom menyerna. Som sådan är det mest användbart om du tittar upp de exakta instruktionerna för din enhet med hjälp av handboken 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 portleveransregel
Efter att ha läst allt om port vidarebefordran, är det ganska mycket en promenad i parken, att skapa en dynamisk DNS för din hem-IP-adress och allt annat arbete som gick in i det här. I porten vidarebefordringsmenyn på vår router kommer vi att skapa två nya regler för port vidarebefordran: en för Subsonic-musikservern och en för en ny Minecraft-server som vi just satt upp.
Trots skillnaderna i plats på olika routerprogram är den allmänna ingången densamma. Nästan allmänt kommer du att namnge porten vidarebefordran regeln. Det är bäst att bara ange vad servern eller tjänsten är och sedan lägga till den om det behövs för tydlighet (till exempel "Webserver" eller "Webserver-Weather" om det finns mer än en). Kom ihåg det TCP / UDP-protokoll vi pratade om i början? Du måste också ange TCP, UDP eller Båda. Vissa människor är väldigt militanta om att ta reda på exakt vilket protokoll varje applikation och tjänst använder och matchar saker perfekt för säkerhetsändamål. Vi är 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 på skärmdumpen ovan, gör att du kan ange ett "Källvärde" -värde som är en lista över IP-adresser som du begränsar porten framåt för säkerhetsändamål. Du kan använda den här funktionen om du vill, men var försiktig, det introducerar en helt ny mängd huvudvärk, eftersom det antas att fjärranslutna användare (inklusive dig när du är hemma och vänner som är anslutna) har statiska IP-adresser.
Nästa måste du sätta i den externa porten. Detta är porten som kommer att vara öppen på routern och vända mot internet. Du kan använda vilket nummer du vill ha här mellan 1 och 65353, men praktiskt taget tas de flesta lägre siffrorna upp av standardtjänster (som e-post och webbservrar) och många av de högre talen tilldelas ganska vanliga applikationer. Med det i åtanke rekommenderar vi att du väljer ett antal över 5000 och för att vara extra säker, använder du Ctrl + F för att söka efter den här långa listan över portnummer för TCP / UDP för 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 du på den enheten och (om tillämpligt) växlar regeln. Glöm inte att spara inställningarna.
Steg tre: Testa din portleveransregel
Det mest uppenbara sättet att testa om din port har gått framåt är att ansluta med den rutin som är avsedd för porten (t ex att din vän ansluter min Minecraft-klient till din hemserver), men det är inte alltid en omedelbar lösning om du inte är borta hemifrån.
Tack och lov finns det en praktisk liten portkontroll som finns tillgänglig på YouGetSignal.com. Vi kan testa för att se om vår Minecraft-serverport fortsatte med att ha porttestaren försök att ansluta till den. Anslut din IP-adress och portnummer och klicka på "Check".
Du borde få ett meddelande, som ovan, som "Port X är öppet på [Din IP]". Om porten rapporteras som stängd, dubbelkryssa båda inställningarna i portöverföringsmenyn på din router och din IP- och portdata i testaren.
Det är en väldigt lite besvär för att ställa in portöverföring, men så länge du tilldelar en statisk IP-adress till målenheten och ställer in en dynamisk DNS-server för din hemadress, är det en uppgift du bara behöver besöka en gång till Njut av problemfri tillgång till ditt nätverk i framtiden.