Setting up Xbox Live to work with FreeBSD, PF & Verizon FIOS

April 20, 2015 at 3:47 pm (Computers)

It took me a bit of digging across several sites, but I now have our Xbox connected to XboxLive properly.

My network is a little more complicated than most, as I have a DMZ zone between my ‘inside’ network and the internet.  Basically, inside devices connect through my FreeBSD gateway/firewall to the DMZ side of the FIOS router, and then out to the internet.  All internet traffic prior was routed through from a single internal address to a single DMZ address on the firewall, then out to the internet through the FIOS router.

The steps that I took are:

  • Set the FIOS router’s DHCP addressing to a narrower range than the default (0-254) – I used 100-254.  This will allow you to assign static IPs below 100.
  • Pick an address for the Xbox on the DMZ side, and set it as static on the FIOS router – XboX_DMZ
  • Add the XboX port forwarding rules to the XboX_DMZ address.
  • Add a second IP address to the DMZ interface on the FreeBSD gateway (in the rc.conf file)
    • ifconfig_xl0_alias0=”inet 10.0.0.2 netmask 0xffffffff”
      • Note that you have to use the “netmask 0xffffffff”, it won’t work with 255.255.255.255
  • Add a line to the PF rules file – the first sets the internal and external addresses, the second sets a bi-directional one-to-one NAT mapping for the Xbox
    • Xbox360 = “192.168.0.245”       # Internal Xbox Address
      Xbox360_ext = “10.0.0.2”        # External Xbox address for bi-nat
    • binat on $ext_if from $Xbox360 to any -> $Xbox360_ext

You may need to configure some additional PF rules, depending on how strict your packet filtering is.  The Xbox needs to use TCP port 3074 and UDP ports 88 and 3074.

Resources that I used to figure this out, and may be helpful for you are:

Permalink 1 Comment