If UPNP or DMZ is not an option for you (or you want more security) than you can manually forward some ports to get NAT Type OPEN for Call of Duty Modern Warfare 3.
28960 is the port that COD has always used, but you need some steam ports too. The screenshot below might have some ports that are only needed for outgoing connections but documentation is really hard to find about these ports. It works for me with these ports.

Call of Duty Modern Warfare 3 port forwarding (NAT type Open)
Leave a comment ?

Using this –> NAT : Moderate
I have exactly these ports forwarded and have since NAT type Open (was Strict before).
Make sure your windows firewall is disabled as well for testing purposes. If that changes things than you can add rules in the windows firewall for the ports above.
I have the windows firewall just disabled as I trust my home network and NAT blocks any access to the PC from the Internet except for the ports you forward. But never do a full DMZ to a windows PC!