How to set up NAT Routing on Windows XP

Hello again! I decided to stop making programming tutorials for a couple of days so in this tutorial you will learn how to set up NAT Routing on Windows XP. Some of you know that some time ago I was working on a project in Visual Basic 6 that would do this thing. So, in Windows there is a tool that is used to manage network stuff like setting IP Addresses, set up routing etc. This tool’s name is netsh (short for network shell). Using netsh you will need 2 NICs (Network Interface Cards), one to connect to the public network(to the Internet) and the other to connect to the private network(to other computers in LAN). So the network schema will look like this:

As we see, the machine that has 2 NICs will have routing enabled and will be the other client’s gateway. The clients will connect to their gateway through a switch(if there will be only one client you can use a cross-over cable from gateway’s private NIC to clients NIC).

Now HOW TO INSTALL IT?First we open the Control Panel. If you are using the “Category View” to view icons first go to “Performance and Maintenance” and then “Administrative Tools” otherwise go straight to the “Administrative Tools” then open “Services”. On the list find “Routing and Remote Access”, double click on it and set the Startup type to “Automatic” and click OK. Close the Services window and open the registry editor by going to Start > Run… and typing “regedit” without the “ ”. Click OK and in the window expand to the following path: My Computer > HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > Tcpip > Parameters. Now in the list you will see something like “IPEnableRouter”. Double click on it and turn the value from 0 to 1. Now restart your computer.

You must know the names of your adapters you are using. For the tutorial we will use “Wireless Network Connection” for the public NIC and “Local Area Connection” for the private NIC.

Now we open the command prompt and type the following command to install NAT:

netsh routing ip nat install

Now type the next command to add the public interface:

netsh routing ip nat add interface "Wireless Network Connection" full

And the last command to add the private interface:

netsh routing ip nat add interface "Local Area Connection" private

...and the installation is done!

What about the client’s IP addresses?Oh yeah! Set an IP to the private NIC of the machine that is doing routing and the clients will use that IP as their default gateway. The client’s IP addresses must be the same subnet as the gateways. Your public NIC’s IP doesn’t need to be changed!

Heres an example of an IP configuration:

As you see the public NIC’s IP address on the routing machine is not the same subnet as the private NIC’s IP address. So be careful, the mustn’t be!

I hope you will find this thread useful and save some money buying routers. If you want to set up a wireless router then check the tutorials session later because I’ll be talking about creating ad-hoc wireless networks on Windows XP.

PS: I'm sorry if you don't like my computers on the schemes, I've drawn them in Paint, lol

I have had to do this a time or two to work around some other problems and it is a usefull network setup to know how to work with. +rep as well (i need to spread some around or it won't let it give more to the folks who always help me; oh yeah, this is also a quality tutorial:))

Thanks gaylo565 You are right! Sometimes you have to set a network fast and this helps. I have finished the project I was talking in the tutorial and since then I earned quite a lot from sharing Internet connections