If you use a service like no-ip or dyndns you probably have an adsl like connection and you have dynamic ip address. And you probably have an adsl-modem probably combined with a router. Now, you have to ensure following:
0) If you don't have any real IP address at all, than forget it.
1) Set up fixed local ip for your server, don't use dhcp for it.
2) You have to keep your dynamic name record up to date. Your modem/router can either do this, or you have to do it with the software tool provided by the dynamic dns provider from your "server". This is the case also when you don't have any router.
3) Those routers do NAT for you, and have firewall included. You have to configure SQL server to use a specific port and open that port on both the windows firewall and the firewall on the router (see port settings here:
http://technet.microsoft.com/en-us/library/ms175043.aspx[
^])
4) If you have NAT, you have to do port forwarding instead: you have to forward ports from outside your network to the ports (see link above) on the server. You don't need to have the same ports from outside, but in that case, you have to specify port in the connection string.
5) You could also move (on some routers) your server in a DMZ, but be aware, that your server will be exposed to all sort of attacks. In this case you should harden your server firewall.
That's much all. Still, it really depends on you exact architecture.