I will tell you how I solve this problem. I use a NAT (Network Address Translation) device in front of my home network. The NAT device provides private IP addresses for all systems on my internal network, and translates outgoing requests to use the public IP address assigned by my cable modem provider. I have configured the NAT device to forward incoming requests to different systems, depending on the port number. So, requests on port 80 are forwarded to my Web server, and requests on other ports are forwarded to the appropriate system.
The specific device I use is the Linksys EtherFast 4-Port Cable/DSL RouterCheck out other commentary on this question in the .ejVQaGBnkbs^5@.ee83d68/433/>Administrator discussion forum.
This was first published in August 2001