I struggled for several hours trying every combination of settings under the sun trying to get my wireless connection to be shared with my Linux box through a wired connection. Windows 7 ICS (Internet Connection Sharing) was simply not working. Even though I could ping the wireless router from the Linux machine, websites simply would not pass through!
I finally tried bridging the connections instead, and that worked great! At last!
Keep in mind you will still require a cross-over cable to connect the computers or a router in-between the internet machine and your other machines. A plain patch-cable that does not cross-over the transmit and receive wires will not work in most cases – you must use a cross-over cable. However, most routers have auto-detecting that performs this function even with a normal patch cable.
First, if you have your wireless connection already set to ICS, go back to the Sharing tab and un-check that box to stop sharing it.
Now, click the bars in the tray and bring up “Open Network and Sharing Center” at the bottom.
Now on the far left, click “Change Adapter Settings”.
First, take a look at the details for the wireless connection from double-clicking on it. It will show you the DNS settings being used. That is important for what follows, so keep that window up or jot the two addresses down. Also note what the default gateway is being used, as you’ll need both of these pieces of information in the Bridge settings and on your Linux box in its manual config settings.
Click once on your “Local Area Connection” icon and then, while holding the CTRL key down, click on your active “Wireless Network Connection”. With the two of them now selected, right-click on either and select “Add to Bridge”.
Once this is done, right-click on the Network Bridge icon and select properties, followed by double-clicking on the IPv4 settings to bring them up. Double check that you are allowing it to obtain its IP address and DNS numbers automatically here. If this doesn’t work right off, come back here and enter the two DNS Server numbers manually – that usually fixes it.
Hit OK and OK and you are done with that part.
Now on your Linux machine, edit your wired connection, and enter an IP different from the other – say 192.168.0.101 (or 192.168.1.101 if your gateway is 192.168.1.1). Then fill in the same subnet mask, gateway and DNS servers that you jotted down earlier, (on some installations the DNS servers are listed separated by a comma). Restart the wired connection (usually by clicking the words “Wired Connection” again in your network choices or by disabling it an re-enabling it), and start your browser.
You should see your pages load now!