Windows – Sharing internet connection on Windows XP with 2 NIC’s and seperate networks

cisconicroutingwindowswindows-xp

This is the basic setup. The goal is to get Host 2 to use Host 1's second NIC to connect to the internet without using any special routing software or anything on Host 1.

network diagram

What I can do: Configure static routing tables for both Cisco-routers and Host 1/2.
What I can't do: Configure the router at 192.168.60.1 and use dynamic routing on the Cisco routers.
What I was able to achieve: Ping 192.168.60.71 (Host 1s 2nd NIC) from 192.168.90.1 (Host 2's NIC) directly.
Were I got stuck: Ping 192.168.60.1 from 192.168.90.1

What I did:

  • Told Cisco 2 about 192.168.90.0 via Ethernet, 192.168.2.0 via Serial and 192.168.13.0 via 192.168.2.2 (Cisco 1) aswell as 0.0.0.0 via Serial.
  • Told Cisco 1 about 192.168.13.0 via Ethernet, 192.168.2.0 via Serial, 192.168.90.0 via 192.168.2.1 (Cisco 2) and 0.0.0.0 via 192.168.13.37 aswell as specifically 192.168.60.0 via 192.168.13.37 (probably not neccessary)
  • And last I added routes on Host 1 for 192.168.60.0 via NIC 2 aswell as 0.0.0.0 via 192.168.60.1.

I feel I'm so close to solving this, but I seem to bang my head against a wall, adding unneccessary routes and not really solving the issue.

Both Hosts run Windows XP.

I would be SO glad for some help here, this is exciting for me (especially since I'm more the programming type) and the fact I can ping 192.168.60.71 from 192.168.90.1 already got me extra credits from my teacher, but I basically promised him I was able to make Host 2 go into the internet via Host 1, and I intend to show everyone the solution.

Best Answer

Since you cannot alter the routing tables on 192.168.60.1 and it apparently has no route to the 192.168.90.0/24 network, you will have the problem that replies to packets which originated from 192.168.90.0/24 would never be able to find their routes.

You can work around this problem by using a technique called NAT where the source address of all outgoing packets would be rewritten by Host 1 to be 192.168.60.71 - where the router at 192.168.60.1 would have a valid route to. Host 1 would maintain connection tables and perform the translation back to the original addresses for incoming reply packets.

NAT support is built in into Windows XP in two flavors. There is the easy to set up "Internet Connection Sharing", but it is mainly targeted at a single One internet-connected XP-PC in a single private subnet scenario and there are several restrictions to the implementation so you would not be able to use it in your setup. And there is the NAT implementation of the Remote Access Service (RAS) which can perform the task as well but is more flexible. You would have to use the routing ip nat context of the netsh command to do the configuration. See the Microsoft Technet documentation for more details on this feature or the numerous third-party walkthroughs on "NAT with Windows RAS" like this one which you'll find by querying the search engine of your choice.