How to Share an Internet Connection Over A Network
Ok, first, we'll assume that you have a tcp/ip network successfully setup, and, that you have internet access at at least one of these machines. If not, read my network tutorials.
Your network (if setup peer to peer, which is generally used in small networks [see tutorial]) has a block of ip addresses which cannot be routed over the internet. In this instance, your computers on your home network have no possible way to directly connect to the internet. (except for the one you are dialing in from of course) Now, when you dial into the internet from one of your computers on your network, you have 2 ip address. 1 of them is the private ip used over your network, and the other is the public ip used over the internet. What you need is something called a proxy server to bridge the gap, and forward data from your home network to the big network. (the internet) A proxy server, is simply a piece of software that receives requests from your home network, and replicates them on the internet. For instance, Computer A is your proxy server, and computer b (another computer on your network) wants to go to www.musatcha.com. Computer B sends the request to computer A, and computer A goes out and gets the web page Musatcha.com for computer b. Then, computer A, sends the received data from the internet back to computer B so you can view the web site.
If you need a proxy JUST for surfing the web and stuff, I highly recommend the one at www.analogx.com it's freeware, and is only like a 250kb download.
If you need to be able to forward ports over, and fun stuff like that, then use the Jana proxy server, available at www.download.com. Jana has been fixed since I first wrote this article, and now it has a nice web based interface and stuff too. Check it out, I highly recommend it. Very powerful.
Now, all you have to do is install this proxy server on the machine that is connected to the internet, and your network. Then, go to each machine on your network, and go into your web browser settings, and change the proxy settings. For instance, if you're using the analog x proxy, and the ip of the computer running it is 10.0.0.7, then your proxy would be at 10.0.0.7:6588 where 6588 is the port number. (Jana uses 8080 by default)
If you have an old computer laying around (386 type processor or higher, with 8 megs of ram minimum [will work with 4 though, but 8 is much nicer]) then build your own Linux based router. The distro I recommend using is Freesco. It's designed specifically for this purpose, and to use it, ya simply boot off of the floppy and follow the basic instructions. It also has a nice remote admin feature, along with lots of other interesting things. It's very fast too.
That's all there is to it!
Note: I've had a couple people ask me why I haven't mentioned the use of ICS (the thing that comes with windows). My reasoning behind this, is that it sucks. Just to configure the stupid thing, you have to either edit the registry yourself or download a utility written by a 3rd party to do it for you. Also, it's extremely slow. If you need the NAT stuff provided by ICS, run yourself a Linux box, or use Wingate. Personally, I hate Wingate. It's a huge program, and it's not free. However, they give ya a nice 30 day trial to mess with it.
Musatcha is pronounced moo-SA-cha. I have no
idea where it originated.