Type in your browser the generic IP. Usually 192.168.0.1, enter your info the log into that router. Somewhere in the settings or advanced settings you can find the port forwarding tab. Click on that. Put in your actual computer IP (find your CMD in computer accessories and type in ipconfig, look for IPv4 or something along those lines. Use this number in the IP field in the router set-up web browser). Now you need to allow ports 80, 1119. This may or may not be done on the same line. You may have to enter 2 separate entries. Make sure there is a comma. That value should be put in both TCP and UDP fields. Make a new entry for port 6881-6999, again make sure that dash is between the numbers.
Save those settings and we'll move on. DON'T CLOSE THE BROWSER YET.
There should be a tab for firewall settings in the router web browser. I set both TCP and UDP NAT endpoints as Endpoint Independent. It hasn't harmed anything so flick those ticks to be sure. In the same page there should be DMZ settings. Enable DMZ and enter your computer IP once again in the stated field. Save your settings and you can exit the browser. Ensure all numbers and fields are entered properly.
Now to fix the Windows 7 firewall settings. Click start - control panel - security - firewall (there should be a link on the left hand side that says something like advanced settings). Flick that link. Click on the incoming connections and add the new rule for all ports stated above. Port 80, 1119 and ports 6881-6999. You must do at least two rules depending on your firewall version. Make sure to do the Outgoing connections as well in the same fashion.
I hope this helps, and I will come back to help anyone else troubleshoot their problems. The DMZ fix seems to do the trick. Diablo 3 requires a lot of talking between servers. DMZ is the total removal of D-Link firewalls...as if we need a firewall to have a firewall...anyway happy gaming friends.