Lösningar på NAT Type 1,2,3, A,B,C,D, Strict, Closed etc
Jag skulle lira mario cart mot en polare på Nintendo Switch och stötte på problem med NAT. Lite googlande visade att samma problem finns hos många andra så jag tänkte skapa en tråd där man kan samla lösningar som fungerat för just er. Eftersom man är nätverkstekniker så har jag svårt att nöja mig med "gör såhär så funkar det"-guider. Visst man kan slå ett fett hål i brandväggen och få en funktion, men på bekostnad av säkerheten. Många som "fixar" problemet vet nog inte vad dom egentligen ställer in. Många löser det genom att sätta sin console i DMZ (Nintendo hänvisar till den lösningen) - något jag aldrig skulle göra utan att isolera consolen i ett eget VLAN.
Min Nintendo Switch sa att jag hade "NAT Type D". Generellt sett är "lägre" NAT Type bättre, dvs 2 är bättre än 3, B är bättre än C. Exakt vad de olika typerna rent tekniskt innebär har jag inte lyckats lista ut, om någon vet får ni gärna berätta.
För er som vill veta lite mer tekniskt kring detta, så man kan själv ta intelligenta beslut om hur man ska konfigurera sin fw: Problemet ligger, iaf i vissa av dessa fall, i hur sourceporten hanteras. Klienten slumpar ett sourceportnummer och drar iväg paketet på nätet, men brandväggen slumpar ofta om sourceporten av två anledningar: Dels är operativsystem kanska kassa på att slumpa sourceportar så det kan användas för att mappa upp operativsystem, och dels kan två klienter bakom NAT slumpa samma sourceport samtidigt som de kommunicerar med samma destinations-IP på samma port, vilket gör det omöjligt att skilja på trafikströmmarna. Problemet är att vissa applikationer inte gillar när en brandvägg ändrar sourceportnummer. Exempel är krypterade tunnlar.
Lösningen i mitt fall blev att konfigurera "strict port translation" för min Nintendo Switch, dvs att brandväggen behåller portnummret som klienten väljer. Ska man upprätthålla hög säkerhet är det inget man bör slå på för alla sina enheter (iaf inte om man är lite paranoid). Hur man gör detta är olika i resp brandvägg. Jag kör pfSense och detta löste problemet för mig (övriga får gärna skriva hur ni löste det med just er console/fw):
Nintendo Switch Nat Type D, pfSense:
1. Sätt antingen statisk IP på Nintendo Switch eller gör reservationer i DHCP så den alltid får samma IP. Services > DHCP Server, Scrolla ner till DHCP static mappings. IPn måste ligga utanför DHCP-poolen. Anledningen är att kunna konfigurerar static port translation för en specifik IP och inte för hela nätet.
2. Konfigurera static port mappings för Outbound NAT. Firewall > NAT > Outbound. Ändra mode till Hybrid, det låter dig lägga till rader i mappings-tabellen nedan.
3. Lägg till en rad i mappingstabellen. Sätt interface till WAN (regeln gäller när trafik lämnar detta interface, dvs ut på internet), Source till IP-adressen för din console och subnätmasken till /32 (dvs endast den angivna IP-adressen). Bocka i Static Port. Sätt en Description. Spara.
Det tog ett tag innan detta slog igenom, förmodligen måste något time'a ut antingen på consolen eller i brandväggen. Därefter fick jag NAT Type B och det fungerar fint att lira spel mot polare.
Hoppas det hjälper nån. Fyll gärna på med lösningar för era consoler och brandväggar.
ecce
#NATisNotASecurityFeature