Ive tried port forwarding and it failed but then i tried this and it worked well
I had to do this as i didnt have DMZ either

These are the ports for MW3 but im sure u can add others for other features/games
You will need to connect to the router via telnet.
If you have Windows 7 or Windows Vista then you will need to install the telnet application first.
To enable telnet go to control panel → programs and features→ turn windows features on and off, then tick the box next to telnet client and click OK. Windows will now spend a few minutes enabling this feature.
Enabling Telnet in Windows Vista and Windows 7
Once telnet is enabled you need to connect to the router.
Press the Windows Key (to the right of the Ctrl key) and R together.
In the run box that appears delete all the text and type telnet 192.168.1.254 and click OK.
You will now be asked for a username, enter your router username, this is usually admin.
You will now be asked for a password, enter your router password, this is usually the serial number and must be entered in capital letters.
You are now logged into the command line interface of the router.
Copy and paste the following commands into the window.
:connection bind application=CONE(UDP) port=69
:connection bind application=CONE(UDP) port=3074
:connection bind application=CONE(UDP) port=3478-3479
:connection bind application=CONE(UDP) port=88
saveall