Sådan videresendes porte på din router

Selvom moderne routere håndterer de fleste funktioner automatisk, kræver nogle applikationer, at du manuelt videresender en port til den applikation eller enhed. Heldigvis er det virkelig nemt at gøre, hvis du ved, hvor du skal kigge.

Hvad er videresendelse af havne?

Der er masser af projekter, vi har dækket, der bruger din computer som server til andre enheder. Når du er inde i dit netværk, fungerer de fleste ting fint. Men nogle apps, hvis du vil have adgang til dem, når du er uden for dit netværk, gør tingene meget hårdere. Lad os starte med at se på, hvorfor det er.

Sådan håndterer din router anmodninger og bruger porte

Her er et kort over et simpelt hjemmenetværk. Skyikonet repræsenterer det større internet og din offentlige eller fremadvendte IP-adresse (Internet Protocol). Denne IP-adresse repræsenterer hele din husstand fra den østlige verden - som en gadenavn på en måde.

Den røde adresse 192.1.168.1 er routeradressen i dit netværk. De ekstra adresser tilhører alle de computere, der ses nederst på billedet. Hvis din offentlige IP-adresse er som en gadenavn, skal du tænke på de interne IP-adresser som lejlighedsnumre for den gadenavn.

Diagrammet rejser et interessant spørgsmål, som du måske ikke har tænkt på før. Hvordan kommer al information fra internettet til den rigtige enhed inde i netværket? Hvis du besøger howtogeek.com på din bærbare computer, hvordan ender det på din bærbare computer og ikke din søns skrivebord, hvis den offentlige IP-adresse er den samme for alle enheder?

Dette er takket være en vidunderlig smule routing-magi kendt som en Network Address Translation (NAT). Denne funktion forekommer på routerniveau, hvor NAT fungerer som en trafikbetjent, der styrer strømmen af ​​netværkstrafik gennem routeren, så en enkelt offentlig IP-adresse kan deles mellem alle enheder bag routeren. På grund af NAT kan alle i din husstand anmode om websteder og andet internetindhold samtidigt, og det hele leveres til den rigtige enhed.

Så hvor kommer havne ind i denne proces? Havne er en gammel, men nyttig holdover fra de tidlige dage med netværkscomputering. Tilbage på dagen, hvor computere kun kunne køre en applikation ad gangen, var alt, hvad du skulle gøre, at pege en computer på en anden computer på netværket for at forbinde dem, da de kørte den samme applikation. Når computere blev sofistikerede til at køre flere applikationer, var tidlige computerforskere nødt til at kæmpe med spørgsmålet om at sikre applikationer, der var forbundet med de rigtige applikationer. Således blev havne født.

Nogle porte har specifikke applikationer, der er standarder i hele computerbranchen. Når du f.eks. Henter en webside, bruger den port 80. Den modtagende computers software ved, at port 80 bruges til servering af http-dokumenter, så den lytter der og svarer i overensstemmelse hermed. Hvis du sender en http-anmodning over en anden port - f.eks. 143 - genkender webserveren den ikke, fordi den ikke lytter der (selvom noget andet kan være, som en IMAP-e-mail-server, der traditionelt bruger den port).

Andre porte har ikke forud tildelte anvendelser, og du kan bruge dem til hvad du vil. For at undgå at forstyrre andre standardopholdende applikationer er det bedst at bruge større tal til disse alternative konfigurationer. Plex Media Server bruger f.eks. Port 32400, og Minecraft-servere bruger 25565 - begge numre, der falder inden for dette "fair game" -område.

Hver port kan bruges via enten TCP eller UDP. TCP eller Transmission Control Protocol er det, der bruges mest. UDP eller User Datagram Protocol er mindre udbredt i hjemmeapplikationer med en større undtagelse: BitTorrent. Afhængigt af hvad der lytter, forventer det, at der fremsættes anmodninger i den ene eller den anden af ​​disse protokoller.

Hvorfor skal du videresende porte

Så hvorfor skulle du nøjagtigt videresende porte? Mens nogle applikationer udnytter NAT til at indstille deres egne porte og håndtere al konfiguration for dig, er der stadig masser af applikationer, der ikke gør det, og du bliver nødt til at give din router en hjælpende hånd, når det kommer til at forbinde tjenester og applikationer .

I nedenstående diagram starter vi med en simpel forudsætning. Du er på din bærbare computer et eller andet sted i verden (med en IP-adresse på 225.213.7.32), og du vil oprette forbindelse til dit hjemmenetværk for at få adgang til nogle filer. Hvis du simpelthen tilslutter din hjemme-IP-adresse (127.34.73.214) til det værktøj, du bruger (f.eks. En FTP-klient eller en ekstern desktop-applikation), og det værktøj drager ikke fordel af de avancerede routerfunktioner, vi lige har nævnt, du er ude af lykke. Det ved ikke, hvor din anmodning skal sendes, og der sker intet.

Dette er forresten en  fantastisk sikkerhedsfunktion. Hvis nogen opretter forbindelse til dit hjemmenetværk, og de ikke har forbindelse til en gyldig port, vil du  have, at forbindelsen afvises. Det er firewallelementet på din router, der gør sit job: at afvise uvelkomne anmodninger. Hvis personen, der banker på din virtuelle dør, dog er dig, så er afvisningen ikke så velkommen, og vi er nødt til at foretage lidt justering.

For at løse dette problem vil du fortælle din router “hej: når jeg får adgang til dig med dette program, skal du sende det til denne enhed i denne port”. Med disse instruktioner på plads, vil din router sørge for at få adgang til den rigtige computer og applikation på dit hjemmenetværk.

Så i dette eksempel, når du er på farten og bruger din bærbare computer, bruger du forskellige porte til at stille dine anmodninger. Når du får adgang til dit hjemmenetværks IP-adresse ved hjælp af port 22, ved din router derhjemme, at dette skal gå til 192.168.1.100 inde i netværket. Derefter vil SSH-dæmonen på din Linux-installation svare. På samme tid kan du lave en anmodning over port 80, som din router sender til webserveren på 192.168.1.150. Eller du kan prøve at fjernstyre din søsters bærbare computer med VNC, og din router vil forbinde dig til din bærbare computer 192.168.1.200. På denne måde kan du nemt oprette forbindelse til alle de enheder, du har konfigureret en port-forward-regel til.

Nytten ved videresendelse af havne slutter dog ikke der! Du kan endda bruge portvideresendelse til at ændre eksisterende services portnumre for klarhed og bekvemmelighed. Lad os f.eks. Sige, at du har to webservere, der kører på dit hjemmenetværk, og at du vil have en til at være let og åbenlyst tilgængelig (f.eks. Det er en vejrserver, du vil have, at folk nemt kan finde), og den anden webserver er til en personlig projekt.

Når du får adgang til dit hjemmenetværk fra port 80, der vender offentligt, kan du bede din router om at sende den til port 80 på vejrserveren på 192.168.1.150, hvor den vil lytte i port 80. Men du kan fortælle din router at når du får adgang til det via port 10.000, skal det gå til port 80 på din personlige server, 192.168.1.250. På denne måde behøver den anden computer ikke at blive omkonfigureret for at bruge en anden port, men du kan stadig administrere trafik effektivt - og på samme tid ved at lade den første webserver være linket til port 80, gør du det lettere for folk, der får adgang til din ovennævnte vejrserverprojekt.

Nu hvor vi ved, hvad portvideresendelse er, og hvorfor vi måske ønsker at bruge det, kan vi se på nogle små overvejelser vedrørende videresendelse af havne, inden vi dykker ned i den faktiske konfiguration.

Overvejelser inden konfiguration af din router

Der er et par ting, du skal huske på, før du sætter dig ned for at konfigurere din router og kører igennem dem på forhånd er garanteret at skære ned på frustration.

Indstil statisk IP-adresse til dine enheder

Først og fremmest vil alle dine portvideresendelsesregler falde fra hinanden, hvis du tildeler dem til enheder med dynamiske IP-adresser tildelt af din routers DHCP-tjeneste. Vi graver i detaljerne om, hvad DHCP er i denne artikel om DHCP vs. statiske IP-adressetildelinger, men vi giver dig et hurtigt resume her.

RELATERET: Sådan indstilles statiske IP-adresser på din router

Din router har en pulje af adresser, som den kun forbeholder sig til at uddele til enheder, når de tilmelder sig og forlader netværket. Tænk på det som at få et nummer på et spisested, når du ankommer - din bærbare computer tilslutter sig, boom, den får IP-adresse 192.168.1.98. Din iPhone tilmelder sig, boom, den får adresse 192.168.1.99. Hvis du tager disse enheder offline i en periode, eller routeren genstartes, sker hele IP-adresselotteriet igen.

Under normale omstændigheder er dette mere end fint. Din iPhone er ligeglad med, hvilken intern IP-adresse den har. Men hvis du har oprettet en portvideresendelsesregel, der siger, at din spilserver har en bestemt IP-adresse, og derefter giver routeren den en ny, fungerer denne regel ikke, og ingen kan oprette forbindelse til din spilserver. For at undgå det skal du tildele en statisk IP-adresse til hver netværksenhed, du tildeler en regel til portvideresendelse. Den bedste måde at gøre det på er via din router - se denne vejledning for mere info.

Kend din IP-adresse (og indstil en dynamisk DNS-adresse)

Ud over at bruge statiske IP-tildelinger til de relevante enheder i dit netværk, vil du også være opmærksom på din eksterne IP-adresse - du kan finde den ved at besøge whatismyip.com, mens du er på dit hjemmenetværk. Selvom det er muligt, har du muligvis den samme offentlige IP-adresse i flere måneder eller endda over et år, kan din offentlige IP-adresse ændres (medmindre din internetudbyder udtrykkeligt har givet dig en statisk IP-adresse, der vender offentligt). Med andre ord kan du ikke stole på at skrive din numeriske IP-adresse i det fjerntliggende værktøj, du bruger (og du kan ikke stole på at give denne IP-adresse til en ven).

RELATERET: Sådan får du let adgang til dit hjemmenetværk hvor som helst med dynamisk DNS

Mens du kunne gå igennem besværet med manuelt at kontrollere den IP-adresse hver gang du forlader huset og har til hensigt at arbejde væk hjemmefra (eller hver gang din ven vil oprette forbindelse til din Minecraft-server eller lignende), er det en stor hovedpine. I stedet anbefaler vi stærkt, at du opretter en dynamisk DNS-tjeneste, der giver dig mulighed for at linke din (skiftende) hjemme-IP-adresse til en mindeværdig adresse som mysuperawesomeshomeserver.dynu.net. For mere information om, hvordan du opretter en dynamisk DNS-tjeneste med dit hjemmenetværk, se vores fulde vejledning her.

Vær opmærksom på lokale firewalls

Når du har konfigureret portvideresendelse på routerniveau, er der en mulighed for, at du muligvis også skal justere firewallregler på din computer. For eksempel har vi fået en masse e-mails gennem årene fra frustrerede forældre, der opretter portvideresendelse, så deres børn kan spille Minecraft med deres venner. I næsten alle tilfælde er problemet, at til trods for at konfigurere portvideresendelsesreglerne på routeren korrekt, ignorerede nogen Windows-firewallanmodningen og spurgte, om det var OK, hvis Java-platformen (der kører Minecraft) kunne få adgang til det større internet.

Vær opmærksom på, at på computere, der kører lokal firewall og / eller antivirus-software, der inkluderer firewall-beskyttelse, skal du sandsynligvis bekræfte, at den forbindelse, du har oprettet, er okay.

Trin et: Find reglerne for portvideresendelse på din router

Udmattet af alle netværkslektionerne? Bare rolig, det er endelig tid til at konfigurere det - og nu hvor du kender det grundlæggende, er det ret simpelt.

Så meget som vi gerne vil give nøjagtige instruktioner til din nøjagtige router, er virkeligheden, at enhver routerproducent har deres egen software, og hvordan den software ser ud, kan endda variere mellem routermodeller. I stedet for at forsøge at fange alle variationer fremhæver vi nogle få for at give dig en idé om, hvordan menuen ser ud, og opfordre dig til at slå de manuelle eller online hjælpefiler op til din særlige router for at finde detaljerne.

Generelt vil du være på udkig efter noget, der hedder - du gættede det - "Port Forwarding". Du skal muligvis gennemse de forskellige kategorier for at finde den, men hvis din router er god, skal den være der.

Til sammenligning er her, hvordan portvideresendelsesmenuen ser ud på D-Link DIR-890L router:

Og sådan ser portvideresendelsesmenuen ud på den samme router, der kører den populære DD-WRT-firmware fra tredjepart:

Som du kan se, varierer kompleksiteten mellem de to visninger meget, selv på den samme hardware. Derudover er placeringen helt anderledes inden for menuerne. Som sådan er det mest nyttigt, hvis du ser de nøjagtige instruktioner til din enhed ved hjælp af manualen eller en søgeforespørgsel.

Når du har fundet menuen, er det tid til at indstille den faktiske regel.

Trin to: Opret en portvideresendelsesregel

Efter at have lært alt om portvideresendelse, opsætning af en dynamisk DNS til din IP-adresse til hjemmet og alt andet arbejde, der gik ind i dette, er det vigtige trin - at skabe den faktiske regel - stort set en tur i parken. I portvideresendelsesmenuen på vores router opretter vi to nye regler for portvideresendelse: en til Subsonic-musikserveren og en til en ny Minecraft-server, vi lige har oprettet.

På trods af forskellene i placering på forskellige routersoftware er den generelle input den samme. Næsten universelt vil du navngive portvideresendelsesreglen. Det er bedst blot at navngive det, hvad serveren eller tjenesten er, og derefter tilføje den, hvis det er nødvendigt for klarhedens skyld (f.eks. “Webserver” eller “Webserver-Weather”, hvis der er mere end en). Husk TCP / UDP-protokollen, vi talte om i starten? Du skal også angive TCP, UDP eller begge. Nogle mennesker er meget militante med hensyn til at finde ud af nøjagtigt, hvilken protokol enhver applikation og tjeneste bruger og matche ting perfekt af sikkerhedsmæssige årsager. Vi vil være de første til at indrømme, at vi er dovne i denne henseende, og vi vælger næsten altid ”Begge” for at spare tid.

Nogle router-firmware, inklusive den mere avancerede DD-WRT, vi bruger i skærmbilledet ovenfor, giver dig mulighed for at specificere en "Kilde" -værdi, som er en liste over IP-adresser, som du begrænser porten til af sikkerhedsmæssige årsager. Du kan bruge denne funktion, hvis du ønsker det, men vær opmærksom, det introducerer en helt ny række hovedpine, da det antages, at fjernbrugere (inklusive dig, når du er væk hjemmefra og venner, der opretter forbindelse) har statiske IP-adresser.

Derefter skal du sætte i den eksterne port. Dette er den port, der vil være åben på routeren og vendt mod internettet. Du kan bruge et hvilket som helst nummer, du ønsker her, mellem 1 og 65353, men stort set de fleste af de lavere numre optages af standardtjenester (som e-mail og webservere), og mange af de højere numre tildeles til ret almindelige applikationer. Med det i tankerne vil vi anbefale at vælge et nummer over 5.000 og for at være ekstra sikkert ved at bruge Ctrl + F til at søge i denne lange liste med TCP / UDP-portnumre for at sikre, at du ikke vælger en port, der er i konflikt med en eksisterende tjeneste, du allerede bruger.

Indsæt endelig enhedens interne IP-adresse, den port, du har på den enhed, og (hvis relevant) skift reglen til. Glem ikke at gemme indstillingerne.

Trin tre: Test din portvideresendelsesregel

Den mest åbenlyse måde at teste, om din port frem fungerede, er at oprette forbindelse ved hjælp af den rutine, der er beregnet til havnen (fx have din ven til at forbinde deres Minecraft-klient til din hjemmeserver), men det er ikke altid en øjeblikkeligt tilgængelig løsning, hvis du ikke er væk hjemmefra.

Heldigvis er der en praktisk lille portkontrol tilgængelig online på YouGetSignal.com. Vi kan teste for at se, om vores Minecraft-serverport fortsatte, blot ved at lade porttesteren prøve at oprette forbindelse til den. Tilslut din IP-adresse og portnummeret, og klik på "Kontroller".

Du skal modtage en besked som vist ovenfor, som "Port X er åben på [Din IP]". Hvis porten rapporteres som lukket, skal du kontrollere både indstillingerne i portvideresendelsesmenuen på din router og dine IP- og portdata i testeren.

Det er en smule besvær at konfigurere portvideresendelse, men så længe du tildeler en statisk IP-adresse til målenheden og opsætter en dynamisk DNS-server til din hjemme-IP-adresse, er det en opgave, du kun behøver at besøge en gang for nyd problemfri adgang til dit netværk i fremtiden.