Hvordan videresende porter på ruteren

Selv om moderne rutere håndterer de fleste funksjoner automatisk, vil noen applikasjoner kreve at du manuelt videresender en port til det programmet eller enheten. Heldigvis er det veldig enkelt å gjøre hvis du vet hvor du skal lete.

Hva er port forwarding?

Det er mange prosjekter vi har dekket som bruker datamaskinen din som en server for andre enheter. Når du er inne i nettverket ditt, fungerer de fleste ting bra. Men noen apper, hvis du vil ha tilgang til dem når du er utenfor nettverket ditt, gjør ting betydelig hårligere. La oss starte med å ta en titt på hvorfor det er.

Hvordan ruteren din håndterer forespørsler og bruker porter

Her er et kart over et enkelt hjemmenettverk. Skyikonet representerer det større internett og din offentlige, eller fremovervendte, IP-adresse (Internet Protocol). Denne IP-adressen representerer hele husstanden din fra den fjerne verden - som en gateadresse, på en måte.

Den røde adressen 192.1.168.1 er ruteadressen i nettverket ditt. Tilleggsadressene tilhører alle datamaskinene som vises nederst på bildet. Hvis den offentlige IP-adressen din er som en gateadresse, kan du tenke på de interne IP-adressene som leilighetsnummer for den aktuelle gateadressen.

Diagrammet reiser et interessant spørsmål som du kanskje ikke har tenkt på før. Hvordan kommer all informasjon fra internett til riktig enhet i nettverket? Hvis du besøker howtogeek.com på den bærbare datamaskinen din, hvordan havner den på den bærbare datamaskinen og ikke sønnens skrivebord hvis den offentlige IP-adressen er den samme for alle enheter?

Dette er takket være en fantastisk bit av rutemagi, kjent som en Network Address Translation (NAT). Denne funksjonen forekommer på ruternivå der NAT fungerer som en trafikkbetjent, og styrer strømmen av nettverkstrafikk gjennom ruteren slik at en enkelt offentlig IP-adresse kan deles mellom alle enhetene bak ruteren. På grunn av NAT kan alle i husstanden din be om nettsteder og annet internettinnhold samtidig, og alt blir levert til riktig enhet.

Så hvor kommer porter inn i denne prosessen? Havner er en gammel, men nyttig holdover fra nettverkets tidlige dager. Tilbake på dagen, da datamaskiner bare kunne kjøre ett program om gangen, var alt du måtte gjøre å peke en datamaskin på en annen datamaskin i nettverket for å koble dem til, da de ville kjøre det samme programmet. Når datamaskiner ble sofistikerte for å kjøre flere applikasjoner, måtte tidlige dataforskere bryte med spørsmålet om å sikre applikasjoner som er koblet til de riktige applikasjonene. Dermed ble havner født.

Noen porter har spesifikke applikasjoner som er standarder i databehandlingen. Når du henter en webside, for eksempel, bruker den port 80. Mottakerens programvare vet at port 80 brukes til servering av http-dokumenter, så den lytter der og svarer deretter. Hvis du sender en http-forespørsel over en annen port - si 143 - vil ikke webserveren gjenkjenne den fordi den ikke lytter der (selv om noe annet kan være, som en IMAP-e-postserver som tradisjonelt bruker den porten).

Andre porter har ikke forhåndstildelte bruksområder, og du kan bruke dem til hva du vil. For å unngå å forstyrre andre standardoppholdende applikasjoner, er det best å bruke større tall for disse alternative konfigurasjonene. Plex Media Server bruker for eksempel port 32400, og Minecraft-servere bruker 25565 - begge tall som faller inn i dette “fair game” -området.

Hver port kan brukes via enten TCP eller UDP. TCP, eller Transmission Control Protocol, er det som brukes mest. UDP, eller User Datagram Protocol, er mindre brukt i hjemmeapplikasjoner med ett stort unntak: BitTorrent. Avhengig av hva som lytter, forventer det at det skal komme forespørsler i den ene eller den andre av disse protokollene.

Hvorfor du trenger å videresende porter

Så hvorfor trenger du å videresende porter? Mens noen applikasjoner utnytter NAT for å sette sine egne porter og håndtere all konfigurasjonen for deg, er det fortsatt mange applikasjoner som ikke gjør det, og du må gi ruteren din en hjelpende hånd når det gjelder å koble til tjenester og applikasjoner .

I diagrammet nedenfor begynner vi med en enkel forutsetning. Du er på din bærbare datamaskin et sted i verden (med en IP-adresse 225.213.7.32), og du vil koble til hjemmenettverket ditt for å få tilgang til noen filer. Hvis du bare kobler hjemme-IP-adressen din (127.34.73.214) til hvilket verktøy du bruker (for eksempel en FTP-klient eller et eksternt skrivebordsprogram), og verktøyet benytter seg ikke av de avanserte rutefunksjonene vi nettopp har nevnt, du har ikke lykken. Den vet ikke hvor du skal sende forespørselen din, og ingenting vil skje.

Dette er forresten en  flott sikkerhetsfunksjon. Hvis noen kobler til hjemmenettverket ditt og de ikke er koblet til en gyldig port,  vil du at forbindelsen skal avvises. Det er brannmurelementet til ruteren som gjør jobben sin: å avvise uønskede forespørsler. Hvis personen som banker på den virtuelle døren din, derimot er deg, er avvisningen ikke så velkommen, og vi må gjøre litt finjustering.

For å løse dette problemet, vil du fortelle ruteren din "hei: når jeg får tilgang til deg med dette programmet, må du sende det til denne enheten i denne porten". Med disse instruksjonene på plass, vil ruteren din sørge for at du får tilgang til riktig datamaskin og applikasjon på hjemmenettverket.

Så i dette eksemplet, når du er på farten og bruker den bærbare datamaskinen din, bruker du forskjellige porter for å komme med forespørsler. Når du får tilgang til hjemmenettverkets IP-adresse ved hjelp av port 22, vet ruteren din hjemme at dette skal gå til 192.168.1.100 inne i nettverket. Deretter vil SSH-demonen på Linux-installasjonen din svare. Samtidig kan du sende en forespørsel over port 80, som ruteren din vil sende til webserveren på 192.168.1.150. Eller du kan prøve å fjernstyre søsterens bærbare datamaskin med VNC, og ruteren din vil koble deg til den bærbare datamaskinen din 192.168.1.200. På denne måten kan du enkelt koble til alle enhetene du har satt opp en port forward regel for.

Nytten av portvideresending slutter ikke der! Du kan til og med bruke portvideresending for å endre eksisterende tjenesters portnumre for tydelighet og bekvemmelighet. La oss for eksempel si at du har to webservere som kjører på hjemmenettverket ditt, og at du vil at en skal være lett og åpenbart tilgjengelig (f.eks. Det er en værserver du vil at folk skal kunne enkelt finne) og den andre webserveren er for en personlig prosjekt.

Når du får tilgang til hjemmenettverket ditt fra den offentlige porten 80, kan du be ruteren din om å sende den til port 80 på værserveren 192.168.1.150, hvor den vil lytte i port 80. Men du kan fortelle ruteren din at når du får tilgang til den via port 10.000, at den skal gå til port 80 på din personlige server, 192.168.1.250. På denne måten trenger ikke den andre datamaskinen å konfigureres på nytt for å bruke en annen port, men du kan fremdeles administrere trafikken effektivt — og samtidig ved å la den første webserveren være koblet til port 80, blir det lettere for folk som får tilgang til nevnte værserverprosjekt.

Nå som vi vet hva port forwarding er og hvorfor vi kanskje vil bruke den, kan vi ta en titt på noen små betraktninger angående port forwarding før du dykker til å konfigurere den.

Betraktninger før du konfigurerer ruteren

Det er noen få ting å huske på før du setter deg ned for å konfigurere ruteren din og kjører gjennom dem på forhånd, vil garantert redusere frustrasjonen.

Angi statisk IP-adresse for enhetene dine

Først og fremst vil alle portvidersendingsreglene dine falle fra hverandre hvis du tilordner dem til enheter med dynamiske IP-adresser tildelt av ruteren din DHCP-tjeneste. Vi graver inn i detaljene om hva DHCP er i denne artikkelen om DHCP vs. statisk IP-adresseoppdrag, men vi gir deg et raskt sammendrag her.

RELATERT: Slik angir du statiske IP-adresser på ruteren

Ruteren din har et basseng med adresser som den forbeholder seg bare for å dele ut til enheter når de blir med og forlater nettverket. Tenk på det som å få et nummer på et spisested når du ankommer - den bærbare datamaskinen din blir med, boom, den får IP-adresse 192.168.1.98. Din iPhone blir med, boom, den får adresse 192.168.1.99. Hvis du tar disse enhetene offline i en periode eller ruteren startes på nytt, skjer hele IP-adresselotteriet på nytt.

Under normale omstendigheter er dette mer enn greit. Din iPhone bryr seg ikke hvilken intern IP-adresse den har. Men hvis du har opprettet en port-videresendingsregel som sier at spillserveren din har en bestemt IP-adresse, og så gir ruteren den en ny, den regelen vil ikke fungere, og ingen vil kunne koble til spillserveren din. For å unngå det, må du tilordne en statisk IP-adresse til hver nettverksenhet du tilordner en regel for portoverføring. Den beste måten å gjøre det på er via ruteren din - sjekk ut denne guiden for mer info.

Kjenn din IP-adresse (og angi en dynamisk DNS-adresse)

I tillegg til å bruke statiske IP-tilordninger for relevante enheter i nettverket ditt, vil du også være oppmerksom på din eksterne IP-adresse. Du kan finne den ved å besøke whatismyip.com mens du er på hjemmenettverket. Selv om det er mulig at du kan ha den samme offentlige IP-adressen i flere måneder eller til og med over et år, kan den offentlige IP-adressen din endres (med mindre Internett-leverandøren din eksplisitt har gitt deg en statisk IP-adresse som står overfor offentligheten). Med andre ord, du kan ikke stole på å skrive inn den numeriske IP-adressen din i det eksterne verktøyet du bruker (og du kan ikke stole på å gi den IP-adressen til en venn).

RELATERT: Slik får du lett tilgang til hjemmenettverket ditt hvor som helst med dynamisk DNS

Nå, mens du kan gå gjennom bryet med å sjekke den IP-adressen manuelt hver gang du forlater huset og har tenkt å jobbe hjemmefra (eller hver gang vennen din skal koble til Minecraft-serveren din eller lignende), er det en stor hodepine. I stedet anbefaler vi sterkt at du setter opp en dynamisk DNS-tjeneste som lar deg koble din (skiftende) hjemme-IP-adresse til en minneverdig adresse som mysuperawesomeshomeserver.dynu.net. For mer informasjon om hvordan du setter opp en dynamisk DNS-tjeneste med hjemmenettverket, kan du se vår fulle opplæring her.

Vær oppmerksom på lokale brannmurer

Når du har konfigurert videresending av port på ruternivå, er det en mulighet for at du kanskje må justere brannmurregler på datamaskinen din også. Vi har for eksempel fått mange e-postmeldinger gjennom årene fra frustrerte foreldre som setter opp havnesending, slik at barna kan spille Minecraft med vennene sine. I nesten alle tilfeller er problemet at til tross for å konfigurere portoverføringsreglene på ruteren riktig, ignorerte noen Windows-brannmurforespørselen og spurte om det var OK om Java-plattformen (som kjører Minecraft) kunne få tilgang til større internett.

Vær oppmerksom på at på datamaskiner som kjører lokal brannmur og / eller antivirusprogramvare som inkluderer brannmurbeskyttelse, vil du sannsynligvis trenge å bekrefte at tilkoblingen du har konfigurert er ok.

Trinn 1: Finn portvideresendingsreglene på ruteren din

Utmattet av alle nettverkstimer? Ikke bekymre deg, det er endelig tid for å sette opp det - og nå som du kjenner det grunnleggende, er det ganske enkelt.

Så mye som vi gjerne vil gi eksakte instruksjoner for den nøyaktige ruteren din, er virkeligheten at hver ruteprodusent har sin egen programvare, og hvordan programvaren ser ut, kan til og med variere mellom rutermodeller. I stedet for å prøve å fange alle variasjoner, vil vi fremheve noen få for å gi deg en ide om hvordan menyen ser ut, og oppfordre deg til å slå opp de manuelle eller elektroniske hjelpefilene for din spesielle ruter for å finne detaljene.

Generelt sett vil du lete etter noe som heter - du gjettet det - "Port Forwarding". Du må kanskje se gjennom de forskjellige kategoriene for å finne den, men hvis ruteren din er bra, bør den være der.

Til sammenligning ser du hvordan port forwarding-menyen ser ut på D-Link DIR-890L-ruteren:

Og her ser portvisningsmenyen ut på den samme ruteren som kjører den populære tredjeparts DD-WRT-firmware:

Som du kan se, varierer kompleksiteten mellom de to visningene veldig, selv på samme maskinvare. I tillegg er plasseringen helt annerledes innenfor menyene. Som sådan er det mest nyttig hvis du leter etter de nøyaktige instruksjonene for enheten din ved hjelp av manualen eller et søk.

Når du har funnet menyen, er det på tide å sette opp den faktiske regelen.

Trinn to: Opprett en portforsendelsesregel

Etter å ha lært alt om portvideresending, å sette opp en dynamisk DNS for hjemme-IP-adressen din og alt annet arbeid som gikk inn i dette, er det viktige trinnet - å lage den faktiske regelen - ganske mye en tur i parken. I portvideresendingsmenyen på ruteren vår skal vi lage to nye regler for portvideresending: en for Subsonic-musikkserveren og en for en ny Minecraft-server vi nettopp har satt opp.

Til tross for forskjellene i plassering på annen ruterprogramvare, er den generelle inngangen den samme. Nesten universelt vil du gi navnet på port forwarding rule. Det er best å bare navngi hva serveren eller tjenesten er, og deretter legge den til hvis det er behov for klarhet (f.eks. "Webserver" eller "Webserver-Weather" hvis det er mer enn en). Husker du TCP / UDP-protokollen vi snakket om i begynnelsen? Du må også spesifisere TCP, UDP eller begge deler. Noen mennesker er veldig militante om å finne ut nøyaktig hvilken protokoll hver applikasjon og tjeneste bruker, og å matche ting perfekt for sikkerhetsformål. Vi vil være de første til å innrømme at vi er lat i denne forbindelse, og vi velger nesten alltid "Begge" for å spare tid.

Enkelte rutefirmware, inkludert den mer avanserte DD-WRT vi bruker i skjermbildet ovenfor, lar deg spesifisere en "Kilde" -verdi som er en liste over IP-adresser du begrenser porten til av sikkerhetshensyn. Du kan bruke denne funksjonen hvis du ønsker det, men vær oppmerksom på at det introduserer en helt ny mengde hodepine, da det antas at eksterne brukere (inkludert deg når du er borte fra hjemmet og venner som kobler seg inn) har statiske IP-adresser.

Deretter må du legge inn den eksterne porten. Dette er porten som vil være åpen på ruteren og vendt mot internett. Du kan bruke hvilket som helst nummer du vil her mellom 1 og 65353, men praktisk talt de fleste av de lavere tallene blir tatt opp av standardtjenester (som e-post og webservere), og mange av de høyere tallene er tildelt ganske vanlige applikasjoner. Med det i bakhodet vil vi anbefale å velge et tall over 5000, og for å være ekstra trygt, bruk Ctrl + F for å søke i denne lange listen med TCP / UDP-portnumre for å sikre at du ikke velger en port som er i konflikt med en eksisterende tjeneste du allerede bruker.

Til slutt, legg inn den interne IP-adressen til enheten, porten du på den enheten, og (hvis aktuelt) slå regelen på. Ikke glem å lagre innstillingene.

Trinn tre: Test din videresendingsregel

Den mest åpenbare måten å teste om porten din fungerte fremover er å koble til ved hjelp av rutinen som er beregnet på porten (f.eks. La vennen din koble Minecraft-klienten til hjemmeserveren din), men det er ikke alltid en umiddelbart tilgjengelig løsning hvis du ikke er borte hjemmefra.

Heldigvis er det en hendig liten portkontroll tilgjengelig online på YouGetSignal.com. Vi kan teste for å se om vår Minecraft-serverport fremover bare tok porttesteren til å prøve å koble til den. Plugg inn IP-adressen din og portnummeret og klikk "Kontroller".

Du bør motta en melding, som vist ovenfor, som "Port X er åpen på [din IP]". Hvis porten rapporteres som lukket, må du dobbeltsjekke både innstillingene i portvideresendingsmenyen på ruteren og IP- og portdataene i testeren.

Det er litt bryet å konfigurere videresending av port, men så lenge du tilordner en statisk IP-adresse til målenheten og setter opp en dynamisk DNS-server for hjemme-IP-adressen din, er det en oppgave du bare trenger å besøke en gang for nyte problemfri tilgang til nettverket ditt i fremtiden.