Port Forward

Tidigare kapitel i den här guiden tog upp NAT, adressöversättning, och hur det fungerar genom att flera datorer på ett LAN kan dela på hemmrouterns publika IP-adress när man surfar ut på internet.

Om man däremot har det omvända scenariot, att något på internet ska initiera (påbörja) kommunikationen mot en dator på hemmanätverket, då går inte det utan något slags speciallösning.

Säg exempelvis att vi installerar en webbserver på hemmanätverket som man ska kunna surfa till från internet. Men samtidigt finns det också flera andra datorer på hemmanätverket, och både webbservern och datorerna ska dela på samma publika IP-adress som routern har på utsidan.

Hur ska då routern veta när någon surfar mot routerns publika IP-adress till vilken dator på insidan som den ska skicka vidare trafiken?

Utan Port Forward vet inte Routern vad den ska göra med ny trafik som initieras från internet

När surftrafiken kommer fram till hemmaroutern så vet den helt enkelt inte till vilken dator eller server på insidan som den ska skicka vidare trafiken, för trafiken hör inte ihop med någon tidigare session eller något tidigare trafikflöde som hemmaroutern känner till.

Eftersom hemmaroutern inte vet vad den ska göra med trafiken så blir den helt enkelt tvungen att kasta bort trafiken. Personen som försökte surfa till webbservern kommer därför se i sin webbläsare att sidan inte kunde visas.

Lösningen på det här problemet är så kallad Port Forward, eller att vidarebefordra portar.

Som tur är finns numera ett enklare (faktiskt helt automatiskt) sätt att göra Port Forwards på. Det kallas för UPnP och beskrivs i ett eget kapitel. Det är dock värt att känna till att UPnP inte alltid fungerar av olika anledningar. Men om du inte är intresserad av teorin utan bara vill att det ska fungera så enkelt som möjligt, titta då först på underkapitlet om UPnP och se om det fungerar i ditt fall.

Port Forward är bland det mest avancerade som vanliga hemmaanvändare kan behöva göra i sin hemmarouter. Eller egentligen är det inte särskilt svårt att göra en Port Forward, men däremot så är det mycket teori som ligger bakom både varför man behöver göra en Port Forward, men också hur en Port Forward fungerar.

För det första måste man veta varför man behöver en Port Forward. Man måste också ha hört talas om en “Port Forward” för att förstå att det är något man kan behöva göra.

Om man väl har kommit så långt så är det ofta ganska lätt för en van datoranvändare att leta efter guider och följa dom för att göra en Port Forward i sin hemmarouter. Men nästa problem är att om det inte fungerar som det ska så har dom flesta inte kunskap nog för att veta vad som är fel eller hur man ska rätta till problemet.

Alla program som man kan ansluta till över ett nätverk lyssnar alltid på en bestämd port. En webbserver till exempel lyssnar som standard på TCP trafik på port 80. Om vi installerar en webbserver på vårt hemmanätverk då vet vi alltså att den lyssnar på TCP trafik på port 80.

Med hjälp av den informationen så kan man sätta upp en Port Forward regel i routern. Vi kan konfigurera vår router så att om någon surfar till routerns publika IP adress på port 80/TCP så bestämmer vi att routern då ska skicka vidare den trafiken till webbservern på insidan av routern.

Port Forward regel i routern skickar vidare trafik till rätt intern enhet

Som du kan se i bilden ovan så sker en adressöversättning av trafiken när den passerar genom hemmaroutern. Destinations IP-adressen byts ut i IP paketet. Faktiskt är Port Forward egentligen inget annat än en särskild sorts NAT eller adressöversättning. Men för enkelhetens skull så brukar just den här sortens NAT helt enkelt bara kallas för “Port Forward”.

Många datorspel kräver också Port Forward. Ofta handlar det om spel som man kan spela tillsammans med vänner, där en spelare kan starta en spelserver i spelet och dom andra spelarna ska koppla upp sig till servern. Då kräver många spel att den spelare som startar spelservern måste konfigurera Port Forward i sin hemmarouter. Annars kan inte dom andra spelarna (som ju finns ute på internet) initiera nätverksanslutningar till spelservern, för hemmaroutern vet inte vad den ska göra med trafiken.

Olika spel kräver att man gör Port Forward på olika portar. Det kan vara flera portar som man måste göra Port Forward för, och det kan vara en blandning mellan TCP och UDP portar. Många spel har dessutom många portar i rad, en “port range” eller portområde som måste vidarebefordras.

För att få reda på vilka portar som man ska göra Port Forward på så är man tvungen att antingen googla på till exempel spelets namn port forward eller att leta efter information om Port Forward på spelets hemsida eller supportforum.

Tyvärr är speltillverkarna ofta helt inkompetenta när det gäller att visa rätt portar som man måste göra Port Forward på. Jag som är nätverkstekniker och själv spelar mycket spel kan säga att jag hittills aldrig har sett en enda Port Forward guide som stämmer. Ofta så blandar dom ihop portar som spelet använder när det initierar kommunikation ut mot internet med portar som man behöver göra Port Forward på om man ska starta en spelserver. Därför så finns oftast många fler portar med i listan än vad man faktiskt behöver göra Port Forward på. Det finns heller ingen generell regel som man kan säga om vad som är rätt eller fel, utan varje spel är unikt.

Här är ett exempel på vilka portar som man kan behöva göra Port Forward på. Det här exemplet gäller spelet Titanfall för PC. Som du ser kan det vara en ganska lång lista med portar.

  • UDP port 8125
  • TCP port range 25000 – 25099
  • TCP port range 30000 – 30099
  • UDP port range 25000 – 25099
  • UDP port range 30000 – 30099

Hur man gör en Port Forward varierar beroende på vilken router man har. Oftast finns det en inställning i routern som heter just “Port Forward” eller “vidarebefordring av portar” eller något liknande.

Oavsett exakt hur det går till i just din routermodell så går det ut på att man först måste välja vilken eller vilka portar som routern ska lyssna på när det kommer in trafik från internet till routern, samt vilken dator eller IP-adress på insidan som routern i sådana fall ska skicka vidare trafiken till.

Föregående avsnitt:
UDP och TCP - två sätt att skicka trafik

Nästa avsnitt:
UPnP - automatisk Port Forward