After finally managing to get my Xbox 360 to connect to live, I've run into the "NAT moderate" issue.

First of all here's my setup...

wireless broadband >(usb)> laptop ubuntu 11.10 >(ethernet)> xbox 360

I've read a lot of forums solving the NAT issue, such as ehttp://ubuntuforums.org/showthread.php?t=538796, but they are all situations using a router. From my understanding its certain ports that need to be forwarded.

Is it possible to fix this if I don't have a router to forward ports on? Since I don't have access to the DMZ?


closed as off-topic by Alvar, Eric Carvalho, Warren Hill, Florian Diesch, BuZZ-dEE Mar 13 '14 at 22:36

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "This is not about Ubuntu. Questions about other Linux distributions can be asked on Unix & Linux, those about Windows on Super User, those about Apple products on Ask Different and generic programming questions on Stack Overflow." – Alvar, Eric Carvalho, Warren Hill, BuZZ-dEE
If this question can be reworded to fit the rules in the help center, please edit the question.


a router is basically a limited computer.So your computer, especially easy with Linux! :) can acts as a router for your XBOX (and the rest of your internal network if you wish to share your 3g internet with more devices)

first you need iptables to manage the NAT traversal and forwarding if not already installed , in the terminal type:

sudo apt-get install iptables  

and then press enter to install

then we are going to make a little script for you do make the settings nessecary for this to work

-------- snip ---------

# just a shorter name for iptables

# internal network interface

# interface to internet ,check with ifconfig , but its probably ppp0 for you

# we configure the network interface to the ip below
ifconfig $int netmask

# ip address for the xbox

# enable forwarding of packages
echo 1 > /proc/sys/net/ipv4/ip_forward

# if you wish to forward ports  it would look something like this
# but change ports (1000,2000) to what your xbox requires you to forward
$iptables -t nat -A PREROUTING -p tcp -i $ext --dport 1000 -J DNAT --to $xbox

# if you need udp ports as well
$iptables -t nat -A PREROUTING -p udp -i $ext --dport 1000 -J DNAT --to $xbox
# use --dport 1000:2000 , if you need to forward a range

-------- snip ---------

save this in a text-file so you can launch it whenever you reboot your computer (since these settings dissappear after reboot)

also you need to remove your internal network card from being managed from ubuntu network manager

edit /etc/NetworkManager/NetWorkManager.conf and enter the text:


below the row with [keyfile]

(you need to change the mac adress to the one of your internal network card (check with ifconfig in the terminal)

now finally launch your script with sudo sh nameofscript.txt and you should be good to go as soon as you connect your xbox to the network card and give it an ip address like 10.0.2 netmask

good luck! :)


There could be many ways to solve this problem. My answer is mostly for people who don't want to mess with iptables and firewall like ufw, firestarer. I messed with them and couldn't find out what was wrong. I decided to do a reinstall and follow the procedure below which works.

First, you need to check whether your wireless broadband usb stick has any sort of firewall/filter function that blocks inbound connections (by Googling your model). Alternatively, you can test by using software like utorrent or PFPortCheck to check a random port if you have windows installed on your pc. It should say your port is open. (Warning: I found PFPortCheck gives accurate results, but malicious). Websites like http://www.yougetsignal.com/tools/open-ports/ can only test your port if you have a service like webserver that responses to their request. Otherwise, they will say your port is closed. Unfortunately, I could not find a simple, but reliable way to test this on ubuntu (without messing with iptables).

Second, when you share internet connection from your wireless broadband usb, your computer acts like a router between your xbox and internet (I assume you already know how to share internet to your xbox by set IPv4 settings of your wired (ethernet) to "Shared to other computers"). You can port forward to your xbox (by adding rules to iptables) or turn on UPnP. I find the later is more hassle-free for me. To do it:

  • Install linux-idg if it is not already installed:

    sudo apt-get install linux-igd

  • Turn on your xbox (I assume your xbox is already connected to your laptop's ethernet). Run command below:

    sudo upnpd wlan0 eth0

    • Replace wlan0' andeth0with your broadband usb and ethernet name. You can check them by using the command:ifconfig`.

    • If you get Invalid internal interface name 'eth0', it means your xbox is off and the ethernet port appears to be disconnected.

    • Don't worry about Unknown config line: upnp_log_filename = "";, it is ok.

    • This is a temporary change. You have to do this every time you restart your laptop to get on xbox live with NAT problem.

  • Test your xbox live connection on your xbox. NAT problem should be gone by now.

Not the answer you're looking for? Browse other questions tagged or ask your own question.