I’ve received a few comments for more details in response to how to open up your Xbox 360, so here you go.
Before setting up these port forwarding rules, my Xbox LIVE Connection test states NAT as "Moderate".
This will cover my specific network setup, but your router should have similar capabilities. You may need to visit your hardware vendor’s web site for port forwarding instructions for your model router.

Now let’s get started.
Move over to the System Blade and select "Network Settings".

Then select "Edit Settings".

Now select the highlighted IP settings area on the "Basic Settings" tab.

Select "Manual" on the "Edit IP Settings" window.
Select "IP Address". My local network IP addresses use the 192.168.15.X C-class range. I’ve set my Xbox 360 to 192.168.15.36. Then use the same subnet mask & default gateway IP addresses from your PC on the last 2 fields on the Xbox IP settings window.
(Start -> Run -> cmd -> ipconfig)
Finally, manually specify your router’s IP address as a DNS server on the "Basic Settings" tab.
Now find what your router’s IP address is. Open a command prompt
(Start -> Run -> cmd -> ipconfig)

Type the IP address listed as your default gateway into your web browser.
Login to your router, if you haven’t change the login, the username and password may just be "admin".

After you’ve logged in, find the Port Forwarding menu. On the Linksys WRTP54G, it’s under Applications & Gaming, then Port Range Forwarding.
Here you specify the rules to allow Xbox Live traffic from the Internet to reach your Xbox:
Port: 88, Protocol: both (TCP & UDP)
Port: 2074, Protocol: both (TCP & UDP)
Port: 3074, Protocol: both (TCP & UDP)

"xbl" is just a simple name I used to label what these ports are being used for. You could really specify any string there.
After saving the port forwarding rules, re-run the Xbox LIVE Connection tests and NAT should state "Open".
Now fire up Halo 3 and your multi-player NAT warnings are all gone.
Please leave me a comment on how this helped your setup. Happy gaming!
Adam | April 24th, 2010 at 7:39 am #
Thank you. This worked for me and it was much clearer than other people’s explanations.
Manoel Nunes | June 12th, 2010 at 10:31 pm #
My brother has an Xbox 360 and I couldn’t join his games and vice-versa because his NAT was moderate. He gets his internet via radio and we talked to our provider to open the ports for him (he set up a fixed IP and opened those ports) but it didn’t work. Then he said he had to give him a valid IP, and after he did that his NAT was open. It was the only way we could make it work for him.
Eric | June 30th, 2010 at 7:23 pm #
Thanks this worked for me I used to have moderate nat typing when I tested my connection but in Modern Warfare 2 it said open but in Halo 3 it said moderate so I was really confused but this fixed it thanks again!
Eric | August 28th, 2010 at 3:02 am #
Thank you kindly mister. I’ve been trying to figure my router out since I got it and this did the trick. Thanks.