I work for a nonprofit organization. We have an educational mobile lab that we want to connect to other networks using wireless. Inside the lab, I am running a Microsoft 2003 Server with a Linksys Wireless-G card. Other PCs within the mobile lab are networked to the server through an Ethernet hub. The 2003 server is running DHCP, offering addresses from the 192.168.X.X subnet. The PCs (XP Pro SP2) reach the server with no problem, but are unable to reach the Internet over the server's wireless uplink. I have set up Routing and Remote Access and tried Internet Sharing with no luck. Must the server's wireless card have a static IP address?
Windows Internet Connection Sharing (ICS) does not require the public-facing connection to use a static IP address. But it does require the private-facing connection to have a static IP address, so that your PCs can all be configured to route traffic to the server, operating as the default LAN gateway.
Moreover, your server's affected connections must be linked together so that traffic received from the downstream private connection (your server's Ethernet card) is routed onto the upstream public connection (your server's wireless card). Because your PCs are reaching your server, we know the Ethernet LAN is working properly, and your PCs are obtaining IP addresses from DHCP properly. The most likely culprits are therefore your wireless link, ICS configuration, or routing.
First, verify that your server can reach the Internet over wireless. In your case, you probably want to configure the server to keep that connection active as much as possible, connecting to a single preferred SSID in Automatic mode.
Next, enable network bridging or ICS. Network bridging would combine the PC LAN and an upstream LAN into one larger LAN -- but that is not what you want to do here. Instead, enable ICS to route traffic from your private LAN subnet to the public Internet. (Note that ICS is included with 32-bit Windows Server 2003 Standard and Enterprise editions, but not with Windows Server 2003 Web, Datacenter, or 64-bit versions. Also note that the Windows Firewall/ICS service must be running in order to view ICS configuration buttons.)
Use your server's Help and Support Center to open the page "To enable ICS." There you will find step-by-step instructions for using the Network Connections control panel to select your wireless connection, choose the Advanced tab, and activate ICS on that public-facing connection. A wizard may prompt you to select a private network connection -- in your case, the server's Ethernet card. ICS set-up will automatically reconfigure your server, assigning a static IP to the server's Ethernet card and using DHCP to give addresses from that subnet to other PCs that connect over Ethernet. It will also configure your server's routing table so that traffic from the private subnet (received via Ethernet) will be forwarded via wireless.
When you finish with ICS set-up, reconnect all PCs to the LAN (for example, by repairing their Ethernet connections). They should now be able to reach the Internet. If they cannot, check each PC's routing table to make sure it has a default route through your server's Ethernet IP address (see the "route print" Default Gateway line). Then check the server's routing table to make sure it routes traffic from the private subnet to the wireless connection. If you still have problems, try disabling ICS and using the server's Network Setup Wizard to re-configure ICS properly.
This was first published in August 2007