I have always found Internet Connection Sharing (ICS) to be a valuable exercise for networking students. Why? By turning on ICS you turn your laptop or desktop into:
- a router with NAT services which routes traffic to and from the connected clients that you are sharing internet with
- a DHCP server that gives out ip addresses, subnet mask, gateway address, and DNS address,
- a DNS Proxy to forward dns lookups to the DNS server all in one shot.
What does that mean? It means there are a lot of networking fundamentals that can be addressed by understanding ICS and what it is doing. It means that your laptop is auto configuring all of those networking services in order to make your laptop function like a router and share internet with other computers. It means people can get to the internet by accessing your laptop like they would a Linksys wireless router. Look at my diagram below.
Lets say you have a laptop with a USB cellular card, so you pretty much have internet everywhere your go, but you decide to go to Starbucks where your friends do not want to pay for wireless internet access because all they have is regular wireless ethernet NICS and the wireless in Starbucks is not free. So you decide you want to share your internet connection with your friends. This is normally done with Windows ICS or Internet Connection Sharing. To enable ICS you need 2 network cards, one that will act as the WAN where the internet comes into your laptop (in this case your cellular connection) and the other that will act as the LAN where the internet gets shared out of (in this case your Wireless NIC or your Wired ethernet port). If you use the standard Windows ICS you will find that only the wired connection will work in this scenario so you will be stuck with a situation like either one below:
The problem with the ICS scenarios above are that the first requires a crossover cable which most people do not have, and the situation on the right requires two straight through ethernet cables and a hub or a switch to share the connection which people usually do not carry around with them. The easiest solution is the one on top where you would share out of your wireless connection effectively turning your laptop into a wireless router. There happens to be a very nice and free application called VirtualRouter, currently in Beta, that will allow you to do just that. Go to http://virtualrouter.codeplex.com and download the .msi installer. The program is very easy to use. Essentially, VirtualRouter turns on ICS for you, but allows you to put in a SSID for clients to connect to wirelessly. It even allows you to password protect the shared connection with WPA2 security. It is easy to install and use, but one downside is that it will not work with all wireless cards, and it will only work with Windows 7 or Server 2008R2. See my video demonstration below:
Typically to use internet connection sharing you need two network cards. To use VirtualRouter you will need a Windows 7 computer with either two network cards (a wireless ethernet card and an ethernet card) or at least one wireless ethernet card. In the video tutorial below, I only use my laptop’s one wireless card, for both the WAN input and the LAN output. You may need to get creative with how you go about this with your own computer. If your Windows 7 machine does not have a wireless card then either borrow someone’s Windows 7 laptop or hopefully you have two ethernet NICS on your tower with which to demonstrate the procedure.
In this demonstration, I show how to use VirtualRouter to share an Internet connection through wireless