[Consoles need] static port on outbound NAT



  • @jimp:

    At least with the one online multiplayer game I have used so far (Fast RMX) the only requirement for Nintendo Switch online multiplayer is static port outbound NAT. It did not appear to require UPnP, but it's safer to enable that in case another game needs it later.

    So as with the Wii U, 3DS, and other similar consoles the best course of action is:

    1. Set a static IP address for the device via DHCP static mappings

    • Status > DHCP Leases, find the device, click + to add a mapping, set a static address, save, etc.

    2. Switch to Hybrid Outbound NAT

    • Firewall > NAT, Outbound tab
    • Select Hybrid Outbound NAT, Save

    3. Add Outbound NAT rule

    • Firewall > NAT, Outbound tab
    • Click +
    • Set the console address as the source (Type = Network, then enter the IP address, pick /32 for the CIDR)
    • Check Static Port
    • Save/Apply

    4. (Optional, So far) Enable UPnP & NAT-PMP

    • Enable UPnP & NAT-PMP
    • Allow UPnP Port Mapping
    • Pick External (WAN) and Internal Interfaces (LAN)
    • Set other options as desired
    • Save

    EDIT: My son is using the Splatoon pre-release global test fire and the online multiplayer is working fine, still only using static port outbound NAT. No UPnP.

    Every console seems to need only a static port.  No port forwarding needed at all.  I haven't tested any of the Xboxes though.



  • @Ryu945:

    @jimp:

    At least with the one online multiplayer game I have used so far (Fast RMX) the only requirement for Nintendo Switch online multiplayer is static port outbound NAT. It did not appear to require UPnP, but it's safer to enable that in case another game needs it later.

    So as with the Wii U, 3DS, and other similar consoles the best course of action is:

    1. Set a static IP address for the device via DHCP static mappings

    • Status > DHCP Leases, find the device, click + to add a mapping, set a static address, save, etc.

    2. Switch to Hybrid Outbound NAT

    • Firewall > NAT, Outbound tab
    • Select Hybrid Outbound NAT, Save

    3. Add Outbound NAT rule

    • Firewall > NAT, Outbound tab
    • Click +
    • Set the console address as the source (Type = Network, then enter the IP address, pick /32 for the CIDR)
    • Check Static Port
    • Save/Apply

    4. (Optional, So far) Enable UPnP & NAT-PMP

    • Enable UPnP & NAT-PMP
    • Allow UPnP Port Mapping
    • Pick External (WAN) and Internal Interfaces (LAN)
    • Set other options as desired
    • Save

    EDIT: My son is using the Splatoon pre-release global test fire and the online multiplayer is working fine, still only using static port outbound NAT. No UPnP.

    Every console seems to need only a static port.  No port forwarding needed at all.  I haven't tested any of the Xboxes though.

    Depends on the Game and the Multiplayer setup for that game. If the game is P2P with no dedicated servers then for best chance to connect to all other players you need Static port in pfsense and UPNP or Forwarded Ports.

    No Static ports and no UPNP/Port Forward = Strict NAT

    Static ports in pfsense but no UPNP/Port Forwards = Moderate NAT

    Static Ports + UPNP/Port Forward = Open NAT.

    See attached chart for Xbox Connectivity Matrix with different NAT levels for different users.




  • I tested with Monster Hunter, Splatoon and some other games.  That is what I found.

    Does that chart apply PS4 and Nintendo consoles?



  • @Ryu945:

    I tested with Monster Hunter, Splatoon and some other games.  That is what I found.

    Does that chart apply PS4 and Nintendo consoles?

    Likely a variation of it. Point is one system having Open Nat / Type 1-2 / Etc, give the best possibility of NAT Transversal techniques (each console has their own) to work for P2P between two consoles.


  • Rebel Alliance Developer Netgate

    I split this off into its own thread, since it not at all specific to the Switch which was the topic of the original post.