Internet Connection Sharing is
the feature that comes with Windows98SE/2000 / Millennium that
allows two or more networked computers to share a single
Internet connection. The problem is that the Internet Connection
Sharing Wizard that comes with Windows98SE doesn't work very
well, and in some cases, can break your existing Internet
Connection. However, it's not that hard to set up, as long as
you do it properly. If you perform the following steps, in
order, you should be able to get it right the first time.
Note:
This is one REALLY long article... It shouldn't take
you more than 20 minutes or so to set up ICS (assuming you have
the proper hardware installed). I have tried to be as thorough
as possible, covering all possible issues that may arise.
Topics:
What You Need
Setting Up the Host
Setting Up the Clients
Cabling Decisions
Installing the ICS Component
Testing the Connection
Cleaning Up
Troubleshooting
More Information
What
You Need
In order to get ICS
(Internet Connection Sharing) to work, you'll need the following
items:
At least two computers.
A
functioning Netword card properly installed in each computer.
If you're sharing a DSL, cable modem, or other ethernet-based
Internet connection, the computer with the connection must have
two Network cards installed. (Microsoft doesn't tell you about
this...)
The network must be cabled correctly. 10base-T or 100base-T,
category-5 patch cables, and a Network hub are recommended. If
you have only two computers, you can forgo the hub, and use a
Category 5 crossover cable instead.
One of the computers must have a dial-up internet connection,
properly set up, or a high-speed connection, such as DSL, a
cable modem, or T1.
There is no minimum connection speed, but you should keep in
mind that when two users are downloading/using the shared
connection simultaneously (the worst-case scenario), each user
will experience half of the original performance. In other
words, you probably don't want to bother sharing a 14.4k analog
modem connection.
The computer with the Internet connection must be running
Windows 98 Second Edition or another version of Windows with
ICS, such as Windows 2000.
Setting
Up the Host
The first step to
setting up ICS is to configure the host, the computer with the
Internet Connection that will be shared. All the other computers
are called "Clients," and are discussed in the
following section. This step requires the correct protocols to
be bound to the correct adapters.
Important:
This must be done before the Internet Connection Sharing
component is installed. If you've installed it already, jump to
Installing the ICS Component to remove it, and then return back
here. Double-click on the Network icon in Control Panel, or
right-click on the Network Neighborhood icon and select
Properties. In the list labeled The following network
components are installed, you should see an entry for your
network card. If you have two network cards, there should be an
entry for each one. If you have a dial-up connection, you'll
also see Dial-Up Adapter here. If the expected items aren't
there, you haven't installed your hardware properly.
In addition to the network
card entries, you should have each of the following:
Client
for Microsoft Networks
NetBEUI -> your first network
card
NetBEUI -> your second network
card, or Dial-Up Adapter
TCP/IP -> your first network
card
TCP/IP -> your second network
card, or Dial-Up Adapter
File and printer sharing for Microsoft
Networks
The arrows after NetBEUI and TCP/IP mean
that the protocols are bound to the devices to which the arrows
are pointing.
If you don't see one or more
of these items, click Add. If you're adding TCP/IP or NetBEUI,
they are both under Protocol. Client for Microsoft Networks is
under Client, and File and printer sharing for Microsoft
Networks is under Service. For all items, choose Microsoft as
the manufacturer. When you add a protocol, it will automatically
install an instance for each adapter; if you only see one
instance of TCP/IP, for example, just add it again to install it
for all your adapters.
If there are extra entries,
just ignore them. The exceptions are NDISWAN or any ATM
protocols... if you encounter a problem later on, you
might have to remove these to use ICS.
If you have any other Internet
sharing solutions (more information) installed on any of the
machines, make sure they have been removed or disabled on each
machine.
Lastly, make sure your current
Internet connection is operational. This will either be your
Dial-Up Networking connection, or your high-speed ethernet-based
connection. Refer to the instructions for your DSL, cable modem,
or other connection type for specific requirements; most likely,
this will involve entering an IP address, gateway address, and
DNS addresses for the "TCP/IP -> some network card"
entry.
If you've made any changes,
click Ok when you're done. Confirm that you want to restart
Windows when prompted.
Setting
Up the Clients
The client machines
don't require any special software; just a properly installed
copy of Windows 95/98, Windows NT, or Windows 2000 (see What You
Need for details.). Do the following for each client machine
that will be using the shared connection:
Start by repeating the steps in Setting Up the Host, above, for
each client. Note the following exceptions:
1) Don't include the NetBEUI
protocol for the clients. It's not needed, and may interfere
with ICS.
2) Ignore any settings in regards
to a "second Network card" or "dial-up
connection."
Next, highlight the TCP/IP entry bound to the Network card (not
bound to Dial-Up Adapter), e.g. "TCP/IP -> some network
card"), and click Properties.
Select the IP Address tab, and choose Obtain and IP address
automatically.
Select the WINS Configuration tab, and choose Use DHCP for WINS
Resolution.
Select the Gateway tab, and remove any items in the Installed
gateways list.
Select the DNS Configuration tab, and choose Disable DNS.
Click Ok when you're done (the NetBIOS, Advanced, and Bindings
tabs don't matter). This will clear any Internet information
from the protocol, and allow Windows to configure it
automatically. This will make setup much easier.
If you've made any changes, click Ok when you're done. Confirm
that you want to restart Windows when prompted.
Cabling
Decisions
Once you have the correct
protocols and drivers set up on the host and each of the
clients, the next step is to figure out the cabling. Without the
internet connection, your network should look something like
this:
(Naturally, the number
of PCs and printers on your network will probably be different.)
The next step is to figure out how the Internet Connection will
be wired. For ICS to work, your setup should look like this:
Note that the Internet
connection can be in the form of a phone cable plugged into an
analog modem, a Network cable plugged into a second network
card, or some other connection plugged into the appropriate
card.
Make sure you resolve the
following before continuing.
If you are sharing a dial-up connection (using an analog or ISDN
modem over phone lines), the adapter that provides your Internet
access is Dial-Up Adapter.
If you are using a cable modem, DSL, or another type of
connection that connects through an Network card, then the
adapter that provides your Internet access is that Network card.
In this case, you must have two Network cards installed in the
host computer. If they are both the same make and model, it
doesn't matter which one is used for the Internet connection and
which is used for your LAN - you don't need to decide now. If
your Network cards are different, and, for some reason, it
matters to you which is used for the Internet, make sure you
know which card it is before you proceed.
In any case, it's easier to
straighten this out now than in the middle of the next step.
Installing
the ICS Component
Now you're ready to
install ICS. Note that if something is done incorrectly, you'll
have to start this section over. That means removing the ICS
component, restarting Windows, and then attempting to add it
again.
Important:
This step must only be performed on the
host computer. ICS does not need to be installed on any of the
clients.
Double-click on the Add/Remove Programs icon in Control Panel,
and choose the Windows Setup tab.
Highlight the Internet Tools without altering the checkbox next
to it. If you check or uncheck this box, click Cancel and try
again.
Click Details, and then put a checkmark next to the first item,
Internet Connection Sharing. For now, don't add or remove any
other components - it'll just make it more complicated. If the
ICS option is already checked, you'll have to uncheck it now,
click Ok, wait for the system to reboot, and then attempt to add
it again.
Click Ok, and then Ok again. There will be some delays, some
hard disk access, and some more delays. Insert the Windows CD
when prompted.
The next thing you see should be the Internet Sharing Setup
Wizard. Important: Don't
click Cancel or restart your computer before completing this
Wizard. There's no way to start it again, so if it's
interrupted, you'll have to start over, which means removing and
reinstalling ICS.
Click Next at the first information screen.
If the next screen tells you, "To select the connection you
want to use to access the Internet, start the Internet
Connection Wizard," it means that Internet Sharing Setup
Wizard has determined (possibly in error) that you can only
share a Dial-Up connection:
If this is incorrect, you probably don't have what
you need.
Otherwise, if you indeed want to share a dial-up connection,
just click Next again. Click Cancel if the useless Internet
Connection Wizard pops up at this point. If you see the message,
The wizard cannot detect the network, just click Advanced
Settings. The Advanced Settings window is what this whole Wizard
catastrophe should've been - the options here should be
self-explanatory.
When you're done, click Ok, then Next, and then Finish.
When you're done with this proceed to Testing
the Connection and Cleaning Up.
Otherwise, the next screen should look like this:
Here are some things to keep
in mind while making your selection:
The first problem with this screen is that it not only shows all
network adapters currently installed, but any adapter that has
ever been installed - even those removed long ago! If you choose
an adapter that isn't installed, ICS won't work, and you'll have
to start over, which means removing and reinstalling ICS.
The second problem is that if both of your Network adapters are
the same, they will be indistinguishable here. That's why we
carefully added the correct protocols to both adapters in Setting
Up the Network. If you did that right, it won't matter which
one you choose here.
If
your Network adapters aren't the same, it should be easy to
choose the one that provides the Internet connection.
Naturally, there's no horizontal scroll bar here, so if you have
two different adapters, they might look the same (for example,
#1 3Com Etherlink and #2 3Com Etherlink in the screenshot are
actually different, but it's virtually impossible to tell here).
If you're not sure which one to use here, but you know that it
makes a difference, just guess - worst case is that you'll have
to start over.
Don't choose Dial-Up Adapter. If you're using a Dial-Up
connection, click Back and choose the first option instead.
The adapters in this list are shown in the same order in which
they were installed. That means if you see more than two
adapters, and you don't know which two to select, your best bet
is to choose the last two (#2 and #3 in the screenshot example).
Make your selection, and click Next.
The next screen should look just like the last, except that the
item you just selected will not longer be in the list. Ideally,
this should just leave one Network adapter, which you should
select. If you see more than one, refer to the notes in the
previous step. Click Next when you're done.
The last thing the wizard asks you to do is create an
"Internet Connection Sharing Client Disk." This is a
pointless step, and can be skipped by pressing Cancel when asked
to insert a floppy. (All this does is copy icsclset.exe, the
Browser Configuration Setup Wizard, and ICSRM.TXT, a readme
file. If you need them later on, they're both in the host's
\Windows\System folder.)
That should be it - click
Finish and then confirm that you want to restart Windows when
prompted.
Testing
the Connection
Once all the computers
have been restarted, Internet Connection Sharing should be in
effect, and all connected computers should have access. To see
what the addition of Internet Connection Sharing has changed on
the host computer, double-click on the Network icon in Control
Panel, or right-click on the Network Neighborhood icon and
select Properties. Here's what you should see:
A
new adapter called Internet Connection Sharing has been added.
An instance of Internet Connection Sharing (protocol) should
appear bound to your two network cards, and the Internet
Connection Sharing adapter, like this:
Internet Connection Sharing
(protocol) -> Your first Network card
Internet Connection Sharing (protocol) -> Your second Network
card, or Dial-Up Adapter
Internet Connection Sharing (protocol) -> Internet Connection
Sharing
Any other instances of this
protocol can be removed. For example, if you're using it with
two network cards, you can remove the instance that points to
your Dial-Up Adapter.
Next, you'll see three new instances of TCP/IP, like this:
TCP/IP (Home) -> Your first Network card
TCP/IP (Shared) -> Your second Network card, or Dial-Up
Adapter
TCP/IP -> Internet Connection Sharing
The (Home) instance refers to the device used to connect the
host to the rest of the home network - if you select it and
click Properties, you'll notice that an IP address (usually
192.168.0.1) has been assigned to it.
The (Shared) instance refers to the device used to provide the
shared Internet connection... it has no interesting
properties. The last entry is what used to be the TCP/IP
properties of your internet connection .
In addition, each of the other protocols you had installed (e.g.
NetBEUI) are now also bound to the new Internet Connection
Sharing adapter.
What does this all mean? The
items that were added should help to show how the ICS layer has
been inserted between the TCP/IP stack and your network cards,
routing information back and forth as necessary.
Cleaning
Up (optional)
There's another step
that can be performed (it's optional, so you can skip this
section if you want). You may want to disable any unneeded
protocol bindings. For example, having NetBEUI bound to the
Internet connection adapter is a security risk, so we should
remove it. Here's how you do it:
Find your "Shared" adapter:
If you have two ethernet adapters, highlight one of the adapter
entries, and click Properties.
Choose the Binding tab, and examine the items in the list. If
one of the items is TCP/IP (Home), then click Cancel and choose
the other adapter.
Likewise, if you see TCP/IP (Shared), then the selected adapter
is the "Shared" adapter (this is the one you want).
If, instead, you're sharing a Dial-Up connection, then the
Dial-Up Adapter is your "Shared" adapter. Highlight it
and click Properties.
For the "Shared" adapter, un-check NetBEUI, and any
other protocols you only want to use over the local network
(e.g. IPX/SPX, if it's there).
Click Ok when you're done to return to the Network dialog.
Scroll down the list, and every time you see a protocol bound to
<nothing>, remove it.
Next, remove NetBEUI -> Internet Connection Sharing if you
see it.
Then, select the TCP/IP (Shared) -> entry pointing to your
Network card, and click Properties. Choose the Bindings tab,
uncheck the File and Printer sharing for Microsoft Networks
option, and click Ok.
That's it. Click Ok when you're done, and confirm that you want
to restart Windows when prompted.
If something stops working
after you have removed the unwanted protocols, then you removed
something you needed after all. To repair, for example, a
disabled NetBEUI instance, just add the protocol again using the
instructions in Setting Up the Host.
Troubleshooting
Ideally, you shouldn't
have to install any software or do any more configuration on any
of the clients. However, this isn't an ideal world, so if this
doesn't work as expected, try the following:
If you're sharing an ethernet-based connection, such as DSL or a
cable modem, make sure the host computer has two network cards.
Go back through Setting Up the Host and Setting Up the Clients
and make sure all the necessary components and protocols are
properly installed.
If you have two network cards, and they're both the same, you
had a 50% chance of guessing the right one in Installing the ICS
Component. If you guessed incorrectly, all you have to do is
switch the cables plugged into each card (that's why it didn't
matter which one you chose).
Some Internet Connection Sharing options are available by
double-clicking on the Internet Options icon in Control Panel,
selecting the Connections tab, and clicking Sharing. If the
Sharing button is not there, see Microsoft's technical note on
the subject.
During Installing the ICS Component, the wizard prompts you to
make an "Internet Connection Sharing Client Disk."
While this step can be skipped, you might find the Browser
Configuration Setup Wizard (icsclset.exe, located in the host's
\Windows\System folder) useful. Just run it on each client
machine to perform any additional setup that might be necessary.
Check out Microsoft's technical notes on ICS - they detail the
known bugs, and there are plenty of them.
After ICS has been installed on the host computer, a log file,
icssetup.log, is created in the \Windows folder. It basically
details the process used to select the network cards for the
wizard, and might provide some insight as to which cards to
choose in the Installing the ICS Component section.
More
Information
There's a readme file, ICSRM.TXT, located in the
C:\Windows\System\ folder of the host. It's not
terribly helpful, but it might have something of use to
you.Microsoft has a page explaining Internet Connection Sharing,
but there isn't any useful setup advice there.
See Microsoft's
list of ICS Frequently Asked Questions
See the
list of ICS-related articles in Microsoft's Knowledge Base.