Pagina1 van 1

pfSense 2.x – Strict NAT op XBox One oplossen

pfSense 2.x – Strict NAT op XBox One oplossen
   5

Ik ga altijd graag aan de slag met nieuwe “speeltjes”, en in dit geval betrof dat zelf een firewall bouwen met pfSense. Het begon met spelen met OpenVPN, maar mijn router, een NetGear R7000 Nighthawk (welke draaide met Asus xWRT), wilde echt niet sneller dan 5Mbps. Dus overstappen naar iets anders, in dit geval pfSense.

Een klein nadeel liep ik wel tegen het lijf: mijn XBox One vond het maar niks en ik zat ineens opgescheept met de irritante STRICT NAT melding, wat er voor zorgt dat je tegen problemen kunt aanlopen als je online wilt gaan gamen.

In dit artikel laat ik je zien hoe ik het zelf op mijn pfSense het STRICT NAT probleem heb opgelost, en nu lekker OPEN NAT op m’n XBox One zie (ter info: ik ben geen firewall expert).

Merk op: Het is zeer goed mogelijk dat dit ook werkt voor  PlayStation 3, PlayStation 4, XBox 360 andere game consoles.




Wat is pfSense?

Als je niet bekend bent met pfSense dan kan het zijn dat dit artikel voor jou niet van toepassing is. Tenzij je natuurlijk zelf een firewall wilt gaan bouwen.

OPNSense een goed pfSense alternatief! 

OPNSense is zeker zo goed, en na wat jaren pfSense te hebben gebruikt, geef ik er zelfs de voorkeur aan.
Beiden zijn uitstekende firewalls overigens! In mijn geval begon het gebruik met OPNSense vanwege de WireGuard ondersteuning (tegen de tijd dat je dit leest zal WireGuard ook prima werken onder pfSense – vermoed ik).

Kortom : Alles wat hier beschreven is, werkt ook onder OpenSense. Dit met name omdat beide een stukje geschiedenis delen.

pfSense is een van de meest gebruikte open source firewalls welke typisch op zijn eigen computer hardware draait. Ik speel er nu al een tijdje mee en ik kan alleen maar zeggen: geweldig!

Hieronder een eenvoudig diagram hoe een thuis-netwerk met pfSense eruit kan zien – ik heb zelfs de XBox one er in geplakt welke initieel de STRICT NAT gaf … (getekend met Draw.io)

In dit diagram zie je dus de pfSense firewall als een apart apparaatje, wat in werkelijk ook het geval is. Ik gebruik er een klein computertje voor.
De ISP Modem (het modem dat je van jouw aanbieder hebt ontvangen) staat in het zogenaamde bridge mode, wat wil zeggen dat het niks doet, behalve dan de signalen van de Internet Provider, omzetten naar netwerk. Dus geen firewall, geen DHCP, etc. Dat wordt allemaal door pfsense afgehandeld.

pfSense - Netwerk diagram

pfSense – Netwerk diagram

Standaard staat pfSense erg goed ingesteld, met de kleine uitzondering natuurlijk … mijn XBox One was gelimiteerd voor wat betreft het online gamen: STRICT NAT. Dit wil zeggen dat sommige online games wel werken en dat je vaak ook kunt chatten, maar … je kunt zelf geen game hosten/starten, en je kunt tegen andere irritante probleempjes aan lopen.

pfSense – How lossen we STRICT NAT op …

STRICT NAT kun je op meerdere manieren oplossen.

Het plaatsen van de XBox One in een zogenaamde DMZ (DeMilitarized Zone) werkt prima. Maar in principe wil het zeggen dat jouw XBox helemaal open staat naar het Internet – wat misschien niet eens erg hoeft te zijn. Omdat mijn pfSense computer 4 netwerk poorten heeft, zou ik in principe 1 van die poorten voor een DMZ kunnen gebruiken (1 voor LAN, 1 voor WAN en 1 voor DMZ, en dan nog 1 reserve). Mocht je deze aanpak willen, lees dan het artikel (Engelstalig): How to create a DMZ with pfSense 2.4.2.

Persoonlijk gebruik ik de DMZ methode liever niet – geeft me het gevoel dat ik te meer open zet dan wat nodig is, en dat voelt gewoon minder veilig. Maar, het is een optie natuurlijk. Mijn voorkeur gaat uit naar het opzetten van regels die precies voldoen aan wat we nodig hebben. We hoeven echt niet een deur wagenwijd open te laten staan om een OPEN NAT op de XBox One te krijgen.

pfSense – OPEN NAT voor de XBox One

De hier beschreven methode werkt prima om van die STRICT NAT melding af te komen, en te genieten van OPEN NAT op jouw XBox One. Je kunt sit zelfs voor meerdere XBoxen toepassen.

Helaas heb ik geen andere consoles zoals de Play Station 4 of de Nintendo Switch (lastige eigenschap van geld: je kunt het maar 1x uitgeven).
Maar … van wat ik gezien heb, werkt dit zeer waarschijnlijk ook voor andere consoles.

Niet een Firewall Expert 

Even een waarschuwing vooraf: ik ben niet een pfSense expert.
Alles wat ik hier weergeef is zoals ik het zelf succesvol gebruik.
Suggesties, en verbeteringen zijn van harte welkom.

 

Stap 1: Geef jouw XBox One een Vast IP adres in pfSense

Omdat we regels gaan definiëren die alleen van toepassing zijn op onze Xbox One, willen we ze specifiek aan de XBox On koppelen. Daarvoor moet de XBox One een vast IP adres krijgen.

Dit kan op twee manieren gedaan worden: of we stellen een vast IP adres in de XBox One in, of we zorgen ervoor dat de DHCP functie altijd hetzelfde IP adres aan de XBox One geeft.

Omdat ik dus gebruik maak van HDCP, en dat zal het geval zijn voor de meeste gebruikers, kiezen we voor de tweede optie: DHCP geeft altijd hetzelfde IP adres voor de XBox One uit. Uiteraard kun je dit voor elke XBox One doen die je in jouw netwerk hebt zitten.

Bepaal een geschikt IP adres voor jouw XBox One

Merk op: in jouw pfSense omgeving ga ik er vanuit dat jouw LAN gewoon “LAN” heet.

In pfSense gaan we nu naar Services DHCP Server LAN.

Ga naar de “General Options” en kijk welke IP range jouw DHCP gebruikt – dit hebben we nodig om een “veilig” IP adres te kiezen.

pfSense - DHCP Range

pfSense – DHCP Range

J moet nu dus bepalen welk IP adres je voor jouw XBox One wilt gaan gebruiken.
Kies een IP adres dat BUITEN de range van jouw DHCP range valt!

Als voorbeeld:
In het DHCP voorbeeld zien we een range: 192.168.2.10 – 192.168.2.150.
Dus als ween IP adres buiten de range willen pakken, dan moet die kleiner zijn dan 192.168.2.10, groter zijn dan 192.168.2.150, en nog niet in gebruik zijn door een ander apparaat. In mijn voorbeeld koos ik 192.168.2.239.

Merk op: Voor eventuele meerdere XBox Ones kies je op dezelfde manier ook daarvoor een uniek IP adres.
Merk op: Als je geen IP adres kunt kiezen omdat de DHCP range te groot is, pas deze range dan aan zodat je wat ruimte krijgt.

Definieer een vast IP adres voor de XBox One

Ga nu naar de bodem van de pagina, onder “DHCP Static Mappings for this Interface“) en klik op de “Add” knop. Een nieuwe pagina opent zich nu.

Hier zullen we het zogenaamde MAC adres van jouw XBox One moeten hebben – Je kunt dit aflezen bij de netwerk details op jouw XBox One, of in de DHCP log van pfSense  (menu: Status DHCP Leases).

Vul nu deze pagina in, en vergeet niet het IP adres te gebruiken wat we net bepaald hebben.

  1. Het MAC address van jouw XBox One,
  2. Een naam of zogenaamde Client identifier voor jouw XBox One (gebruik geen aanhalingstekens en vermijd speciale tekens),
  3. Het IP adres wat we net gekozen hebben voor jouw XBox One (192.168.2.239 in het voorbeeld),
  4. Een Hostname voor jouw XBox One (dit mag van alles zijn, maar hou het kort, en gebruik geen spaties of speciale tekens),
  5. Optioneel: description zodat je jouw XBox One herkend in pfSense lijsten en log. Bijvoorbeeld “XBox One Woonkamer”.
  6. Klik op de “Save” knop.
pfSense - Geef de XBox One een vast IP adres

pfSense – Geef de XBox One een vast IP adres

Nadat je op de “Save” knop hebt geklikt, krijg je de melding dat static mapping is aangepast. Klik op “Apply Changes.

pfSense - Veranderingen n statische IP adressen activeren

pfSense – Veranderingen n statische IP adressen activeren

Herhaal deze stappen als je meer dan 1 XBox One hebt.

Stap 2: UPnP & NAT-PMP aanzetten in pfSense

In de nu volgende stap gaan we UPnP in pfSense aanzetten, door naar de volgende pagina te gaan: Services UPnP & NAT-PMP.

In onderstaande afbeelding hebben we het volgende gedaan:

  1. Aanvinken vanEnable UPnP & NAT-PMP“,
  2. Aanvinken vanAllow UPnP Port Mapping“,
  3. Aanvinken van “Allow NAT-PMP Port Mapping“,
  4. Het kiezen van WAN bij de “External Interface“,
  5. Het kiezen van LAN bij de “Interfaces” lijst,
  6. Het aanvinken vanDeny access to UPnP & NAT-PMP by default
  7. Bij “ACL Entries” moeten we een add an entry doen voor jouw XBox One en wel in het volgende formaat, waarbij a.b.c.d vervangen moet worden door het IP adres dat we hebben gekozen voor jouw XBox One:
    allow 53-65535 a.b.c.d/32 53-65535.
    Dus in mijn voorbeeld:
    allow 53-65535 192.168.2.239/32 53-65535.
    Wat zoveel wil zeggen als:
    UPnP mag gebruikt worden voor het specifieke IP adres 192.168.2.239, voor elke eindbestemming (/32) en voor de interne poorten “53-65535” en externe poorten “53-65535”.
  8. Klik op de “Add” knop,
  9. Klik op de “Save” als je klaar bent.

 

Merk op: Herhaal de stappen 7 en 8 voor elke console die je aanvullend wilt toevoegen.

pfSense - UPnP aanzetten voor de XBox One

pfSense – UPnP aanzetten voor de XBox One

 

Stap 3: Configureer Uitgaande NAT voor pfSense

We zijn er bijna, we moeten alleen nog de uitgaande NAT een beetje aanpassen.

In pfSense gaan we naar Firewall NAT Outbound. Vergeet dus niet op “Outbound” te klikken!

Als eerste moeten we de outbound (uitgaande) NAT op Hybrid zetten:

pfSense - Uitgaande NAT op Hybride zetten

pfSense – Uitgaande NAT op Hybride zetten

 

we moeten ook nog even de zogenaamde mapping aanpassen met een extra regeltje, klik onder “Mappings” de Add” met het pijltje dat omhoog wijst.

Merk op: Zorg ervoor dat je dus NIET per ongeluk de optie “Disable this rule” aanvinkt.

  1. Selecteer WAN bij het “Interface” veld,
  2. Zet “Protocol” op “any“.
  3. Zet “Source” op “Network” en voer het IP adres van jouw Xbox One in, en zet het veld ernaast op “/32“,
  4. Zet “Destination” op “any” en laat de andere velden in dit stukje zoals ze staan,
  5. Zet “Address” op “Interface Address“,
  6. Vink de optieStatic Portaan (zodat pfSense NAT niet zomaar een ander poort nummer gaat kiezen),
  7. Voer een of andere beschrijvign in bij description (zodat je later weer weet waar de regel voor was),
  8. en als laatste klik op de “Save” knop.

 

Merk op: voor aanvullende consoles, herhaal deze 8 stappen voor elk van de consoles.

pfSense - Outbound regel toevoegen voor XBox One

pfSense – Outbound regel toevoegen voor XBox One

Stap 4: Reboot alles devices

Nu kan het zijn dat dit niet nodig is, maar ik heb het toch maar gedaan.

  1. Zet [elke] XBox One helemaal UIT – Na het afsluiten van de console: stekker uit het stopcontact!
  2. Reboot de pfSense Firewall – wat misschien helemaal niet nodig was.
  3. Als pfSense weer online is starten we de XBox One en verifiëren we de Netwerk details van de XBox One – Je zou nu OPEN NAT moeten zijn en STRICT NAT is nu een probleem van het verleden.

Tip: Alternatief voor reboot … 

Een van de gebruiker op de Engelstalig pagina (Charles) gaf de volgende tip als alternatief voor het herstarten van de firewall:
Je kunt de actieve verbindingen flushen met: Firewall  Diagnostics  States Reset.

Een andere tip die ik kreeg, nu in relatie tot de Universal PnP: je kunt deze service gewoon herstarten.

Omdat het maar een paar seconden duurt, heb ik echter toch de voorkeur voor een reboot.

 

Aanvullende informatie

Een paar links met aanvullende informatie voor wat betreft dit onderwerp:

  • pfSense Homepage
    Echt een geweldige mooie firewall, voor zowel thuis als zakelijk.
    De Community Edition (gratis) is natuurlijk de beste optie voor thuis gebruik.
    Voor professioneel/zakelijk gebruik raadt ik iedereen aan om naar de commerciële versie te kijken.
  • Netgate pfSense Documentatie
    Specifieke XBox STRICT NAT referentie in de documentation m.b.t. UPnP.
  • Microsoft NAT documentatie
    De support pagina van Microsoft m.b.t. STRICT NAT issues op de XBox One.
  • ceoS3C – Make a DMZ on pfSense
    Engelstalig – een alternatieve aanpak door middel van een DMZ op jouw pfSense firewall.

Ondersteun ons ...


Jouw ondersteuning wordt zeer gewaardeerd, en hoeft zelfs niets te kosten. Bijvoorbeeld door links naar ons te delen op social media, of andere websites.

Andere vormen kunnen ook gratis zijn (b.v. shoppen op Amazon).
Alle opbrengsten worden gebruikt voor web-hosting kosten, project hardware en software, koffie, etc.

Hartelijk dank voor wie al heeft bijgedragen!
Het is altijd geweldig om te zien hoe men mijn artikeltjes en applicaties weet te waarderen.

Merk op dat het klikken op affiliate links een kleine commissie voor ons kunnen genereren - dit wordt zeer gewaardeerd.

Reacties


Er zijn 5 reacties welke je hieronder kunt lezen.
Je kunt jouw eigen opmerkingen plaatsen m.b.v. dit formulier, of een reactie op een bestaande opmerking plaatsen door op de "Beantwoorden" knop te klikken.

  • 12 aug 2018 - 10:44 - Henkie60 Reactie Link

    Prachtig artikel Hans!

    Heb zelf een minicomputer hier liggen, met pfSense (2.2?), maar omdat het zo complex is heb ik het maar opzij gezet voor later.

    Wanneer er (ooit) ’n NL. artikel te vinden is die de basis instellingen van A tot Z aan de hand van voorbeelden (zoals hierboven),

    dan zou ik zeker een poging (weer) wagen en er aan te beginnen.

    Voor nu heb ik mijn Asus router AC86 zo ingericht dat al het internet verkeer via openVPN tunnel via ISP naar VPN provider loopt,

    maar mijn nvidia shield (streamer) gaat rechtstreeks naar WAN ipv. in de tunnel.

    Want dan wordt het streamen tegen gehouden.

    De instellingen voor openVPN waren al moeilijk genoeg om het goed te krijgen, laat staan pfSense! 

    Beantwoorden

    Henkie60

    • 12 aug 2018 - 11:15 - hans - Auteur: Reactie Link

      Hoi Henkie60!

      Leuk je ook in deze hoek weer te zien 

      Ja, ik draaide OpenVPN op m’n NetGear R7000 – wat net goed genoeg draaide voor 1 verbinding. Maar ik wilde meer dan 1 verbinding dus heb ik een kleine PC bij AliExpress bestelt en er pfSense op gezet. Dit was voor mij ook de eerste keer en het voelde een beetje overweldigend aan toen ik er aan begon. Gelukkig was het eenvoudiger dan gedacht.

      Grappig dat ook jij een nVidia Shield hebt hahah – ik gebruik het ook als mijn media speler. Ik heb de Shield achter de firewall staan en het werkt prima. Ik ben niet zo’n fan van apparaten helemaal open te zetten naar het Internet – misschien mijn eigen paranoia hahah. Mijn XBox One stond jaren in de DMZ, zonder problemen. 

      Overigens; OpenVPN op pfSense was even vogelen, en het moeilijkste (wat achteraf eenvoudig bleek) was het exporteren van de opvn file. Er is een package voor die dat afhandelt (System -> Package Manager -> Available Packages -> openvpn-client-export). Duurde even voor ik dat ontdekt had hahah.

      Makkelijk maken ze het inderdaad niet wanneer het op VPN aankomt 

      Beantwoorden

      hans

      • 12 aug 2018 - 11:48 - Henkie60 Reactie Link

        Hoi Hans.

        Tsja ik zoek de uithoeken ook op!

        Deze heb ik toendertijd deze gekocht, https://www.amazon.co.uk/Braswell-Celeron-Quad-Fanless-Barebone/dp/B01GBHCNJ6

        De AC86 van Asus is denk ik de laatste ooit, vanwege “closed source” blokken in de GPL waar Merlin elke keer tegen aan loopt.

        Aan de andere kant weet ik dat pfSense erg goed is (vandaar!) maar het engels is zo lastig te begrijpen (vanuit chinees lijkt het wel?).

        Ik zit nu midden in een project (even kort) om mbv. 26K22 (Microchip) een raam motorbesturing betrouwbaar werkend te krijgen, 1 motorunit (AXA) is geen probleem maar 2 welke serieël mag door lussen gaat lastig, er verschijnt ACK. op de LIN-Bus en dan raken ze van slag.

        Hopelijk van winter meer tijd om pfSense te bestuderen.

         

        Beantwoorden

        Henkie60

      • 12 aug 2018 - 11:58 - hans - Auteur: Reactie Link

        Nice! Lijkt sprekend op die van mij! 

        Ik heb deze net gekocht: AliExpress (8 Gb RAM, 128 Gb SSD, i7) 
        Ik gebruik de NetGear als WiFi AP, want dat werkt geweldig. Ja jammer dat het af-en-toe net even te ver is dicht getimmerd he?
        Bij pfSense heb ik zelfs al een theme lopen aanpassen hahah.

        Jammer dat men hier geen fulltime baan van kan maken he? 

        Beantwoorden

        hans

        • 12 aug 2018 - 12:19 - Henkie60 Reactie Link

          Grappig dat ik beide modellen heb overwogen, wel toevallig ja.

          Uiteindelijk besloten voor bovenstaande link.

          Zoals gezegd de materie, was net een brug te ver…

          Beantwoorden

          Henkie60



Jouw Opmerking ...

Plaats hier geen grote bestanden (zoals source codes, log files of config files). Gebruik hiervoor het Forum.

Delen:
*
*
Laat me per email weten als er nieuwe reacties zijn.
       Je kunt jouw RSS reader gebruiken om reacties te volgen.


Tweaking4All gebruikt de gratis Gravatar dienst voor Avatar weergave.