This isn't a noob tutorial, just a basic explanation of how to open your NAT.
I'm not sure that all of these steps have to be taken, but this is what worked for me.
Modem Side:
Here we have the IP of my router added into the DMZ of my modem.
Disabling UPnP isn't required and usually it doesn't hurt to leave it on, but in my case I had to disable it.
These ports need to be forwarded, the Private IP would be the IP of your router. Your router may have support for the "Both" protocol, that way you don't have to have two different entries for TCP and UDP.
Router Side:
You guys probably won't have to deal with this, but I had to set a static IP for my router.
The port forwards router side that route to the static IP I set on my xbox. You may have different local IPs but I always do one after the default gateway IP and configure it statically from the xbox.
Console in the router's DMZ.
UPnP disabled on the router.
I'm not sure that all of these steps have to be taken, but this is what worked for me.
Modem Side:

Here we have the IP of my router added into the DMZ of my modem.

Disabling UPnP isn't required and usually it doesn't hurt to leave it on, but in my case I had to disable it.

These ports need to be forwarded, the Private IP would be the IP of your router. Your router may have support for the "Both" protocol, that way you don't have to have two different entries for TCP and UDP.
Router Side:

You guys probably won't have to deal with this, but I had to set a static IP for my router.

The port forwards router side that route to the static IP I set on my xbox. You may have different local IPs but I always do one after the default gateway IP and configure it statically from the xbox.

Console in the router's DMZ.

UPnP disabled on the router.