Could be a router issue. Connect everything to your cable modem, get your public IP (http://checkip.dyndns.org
among others) and have a friend connect to that. If that doesn't work, check that the correct ports forward to the correct LAN IP addresses. Make sure your server's/router's firewall isn't blocking incoming requests on those ports.
If all else fails, your ISP could be the culperate. Many large ISPs have taken to blocking all incoming traffic on common ports, e.g. 25, 80, etc., in an effort to stop certain types of malware.