Based upon the votes and the comments I've been receiving so far I need to address something up front in this series. This entire article series is not source code related and if you are expecting source code you won't find it. Comments so far are suggesting that this article does not belong here. I'd like to address that by saying that if you are developer writing code that will work across networks then these articles might be valuable to you. If your systems are not configured properly the best code in the world won't run right. So consider these articles prerequesite articles that should be read before starting a project where your code is intended to work across networks.
I've written a series of articles to provide developers with a broad amount of information that covers general networking topics. In this series I'll be discussing:
I had originally intended this to be a single article but it has grown to be much to large to be a single article. I also think that breaking it up into topics does a better job of granulating the information and makes it easier for readers to ask specific questions that will flow together in the reader comments area. If it's possible I'd like to have the above bulleted list link to all the articles so that readers may jump around from one topic to the other.
I'll be including this information in each relevant section but right up front I'd like to group this information for the convenience of the reader. I'm going to take the approach that you are brand new to networking and need the information presented in a way that flows smoothly from one topic to the next. Please understand this is not a simple topic. Networking is a black art and I mean that seriously. If you intend to fully understand networks and become proficient in them at a basic-working-level you will invest several hours to do so. Expect to make mistakes and expect it to be slow going at first. That's the nature of the topic.
As you read through this feel free to request an article on other topics in networking or feel free to ask me to add to a current section and drive it a bit deeper. I'm open to improving anything you see here and adding more content will just add value to the entire project.
From the top I'd start by reading TCP/IP Networking in Class C Subnets. I'd read it a few times so that you have the core down. I'd immediately move to Command Line Tools - IPCONFIG as it will provide an extra level of visibility to what was discussed in TCP/IP Networking in Class C Subnets. Even though it's the most difficult topic I've written on so far I'd recommend Adding Wireless Routers to Existing Networks next. It will force you to apply everything else I have discussed and it will do so in such a way that you will utterly understand it all by the time you have done it a few times. Even though many people have no need to know about Internet Connection Sharing (ICS) I think it's the next logical choice in progression. It will help you to understand networking landscapes a bit more and drive depth in your basic knowledge. I save the most practical for closest to the end because Sharing Files, Printers and Other Network Resource plagues almost every network I've ever seen. It's the most necessary aspect of networking for users and it can be one of the hardest to troubleshoot. You will need the knowledge gained from all the other articles to troubleshoot any problems you may have in Sharing Files, Printers and other Resources. As a final topic I'll briefly delve into VPN but it's a bit like trying to fit the ocean into a 1 gallon jug. Virtual Private Networking (VPN) is vast and enormous in scope and the security liability is enormous if you screw up.
That just about covers it. Now it's time to dive in. I hope you enjoy the material and feel free to ask further questions in the comments area.
I've spent the last 8 years of my life fighting Class C subnets in Windows, Linux and MAC environments. To be honest networking is like black magic. Some people understand it and many never will. I think the reason for this is fear that you can break something. This is a valid fear. If you hose your TCP/IP stack you are in big trouble. If you are reading this article and are new to networking I'd suggest all of the following to guarantee you learn what you need and don't destroy your own PC's and network in the process.
- If you have an extra PC to play with perfect make sure you are fine to trash it and reload it if necessary.
- Before getting started I recommend downloading a product like Acronis True Image and making a full backup of your system. (Please verify the backup image.)
- If you are going to play with a router that currently works please export/download it's firmware settings as a safe backup.
- Please write down every setting you change and in what order. It's very easy to go backwards when you take good notes as you go.
Adding Wireless Routers to Existing Networks
Please note that this is perhaps the most complicated section of this entire article. If you attempt this please make sure you thoroughly understand your current networks Class C Subnet. Please make sure you have a good grasp of TCP/IP based networking and please make sure you have read the entire section I've provided TCP/IP Networking in Class C Subnets. If you feel good about all of this please procede. If you have any questions please ask them in the comments area and I will answer them as soon as I can.
There are many cases that can arise where you want to expand your network's capabilities. 90% of the time most people want to add a wireless router to an existing network that already has a router or other type of DHCP server on it. This causes many headaches and ultimately prodocts are returned as disfunctional and customers are left wondering why it wouldn't work. Here I'm going to address adding a wireless router to a network from the standpoint that you don't want to isolate your wireless network away from your existing network and you want all your wireless devices to be able to access the same devices as your hard-wire connected machines. This practice is not recommended by security experts but it is what 95% of consumers want. The hardware industry has recongnized this need and you can now get Wireless Access Points (WAP) that are nothing more glamorous than a wireless router with it's DHCP Server disabled. They still require all the other settings a wireless router needs but they do not have a DHCP server. If you are going out to buy a wireless router and intend to use it as a switch you may choose to get a WAP instead. I always discourage this because then you are limited to what you can do with the device in the future. So my recommendation is to always go Wireless Router and then dumb it down to a switch if you need to. I'll now go into the steps of making a D-Link Wireless Router into a fully functioning Wireless Switch that can be connected to your network. The configuration I'm about to embark on will give your LAN unrestricted access to your Wireless Local Area Network (WLAN) and vice-versa. Please note if you have a Linksys Wireless Router the steps will be the same except you will at first start by connecting to 192.168.1.1. You can change this number to any number you wish. 10.0.0.1 is valid, 10.200.9.1 is valid there are 100's of schemes to use please pick the one in use by your current network.
Before we get started please make sure you know what your network addressing scheme currently is. If you don't understand IP Addresses and TCP/IP stacks please read my section TCP/IP Networking in Class C Subnets before going further. Once you have read that section please note the Class C your network is currently in and write it down. It should be something to the effect of 192.168.0.X or 10.200.9.X or 192.168.1.X and you kind of get the idea. Once you know what your class C subnet is please sign into your router using the instrutction manual and change it's IP Address to your Class C X.X.X.254. So if your Class C is 10.200.9.X the LAN IP of the router should also be 10.200.9.254. Let's begin by assuming we are using a laptop with a Wireless Network Connection, Local Area Connection and a D-Link Wireless Router.
Now take a length of CAT5 and plug it into the Local Area Connection on your laptop computer. Take the other end of the CAT5 cable and plug this into the first LAN port (#1) on your router. NOTHING should be in the WAN port now or should ever be in the WAN port of your router. (See Below)
Now we have a CAT5 cable running from your NIC on your laptop to the 1st LAN port on your router. If your router is plugged in go ahead and unplug it, count to ten and plug it back in. Once you have plugged it back in count to 30 very slowly using 1000’s. Once you have reached 30 please sit down in front of your laptop and run the following test for me. Please go to the Start Menu->Run and click on ‘Run’ in the run window text area please type “CMD” and press the ‘Okay’ button.
You will now see a black window on your screen. This is called the command prompt. This window only accepts text commands and gives text output. At the command prompt please type ‘ipconfig /all’ and press the enter key. You may not see anything remotely like what is below. If this is the case please go to Start Menu->Control Panel->Network Connections, right mouse click “Local Area Connection” and select “Properties”. In the “General” tab scroll down to “TCP/IP…” select it and click “Properties”. In the new window make sure that the “Dynamic” options are checked for IP Address and DNS Settings, then “Okay” and “Okay”. Please go back to the beginning of the paragraph and start over.
We need to go into your router and make a few changes. NOTE: If your settings (those I just had you write down from the TCP/IP Section) are different from those you see above I.E. 192.168.168.168 or something else please refer to the specs that came with your router. It may have different default settings. If this is the case please follow the instructions in your manual for connecting to your router and please change the LAN IP address of your router to the same Class C as your current network this should be X.X.X.254. The X.X.X should correspond to your current settings and the .254 is normally a very safe number to use as the IP for your wireless router. To be safe ping X.X.X.254 or as an example 192.168.0.254 and if you don't get anything but requests timed out you are good to go. Let’s now open the Web Browser Configuration Panel for your router. If you are using an ICS Enabled Network (if you are not sure refer to that section below to be sure) please open Internet Explorer and go to the “Tools” menu and select “Internet Options”. In the Internet Options window please click the “Connections” tab click the “LAN” settings and UNCHECK the “Use a proxy server…” (Note: If this is not checked please don’t worry. I don’t expect it to be but I am being thorough.) click “Okay” and “Okay” again to return to your web browser. Here are pictures for clarity.
Now in the URL text area (Has text in it that starts with http://www.) please delete the http://www text all of it and then type in the LAN IP of your router which you may or may not have changed at the beginnig of this section. As an example use 192.168.0.1 and press the enter key. You may be prompted for a username and password (Please refer to YOUR documentation for the username and password.) it is typically ‘admin’ and then ‘password’ or sometimes just ‘password’ in the username.
We are now at your router’s Web Enabled Configuration page. You should see a lot of different tabs. Some of them might be “LAN”, “WAN”, “WIRELESS”, “FIREWALL”, “DHCP”, “STATUS”, etc… There will probably be some others but those are the common set. Please click on the “LAN” settings and verify the LAN IP Address matches your Class C and is set to .254 with a subnet mask of 255.255.255.0 you don’t need anything else. If you did have to change the IP Address to match your Class C you will sign back into the router (once it has restarted) using the IP Address that you just assigned to it. Here is a common D-Link configuration page. It's IP is set to 192.168.0.99 just ignore this. The picture is purely for comfort zone.
Now click on or locate “DHCP” server settings. You want to disable this device as a DHCP server. We absolutely do not want this to be a DHCP server. If you are unsure how to go about this please consult your manual. If you do not have one please download the manual from your manufacturer’s website. If that does not help then contact me below in the comments area. Refer to the picture below as an example.
Once we have made these changes your Wireless router may be connected to your existing network. Simply run a Cat 5 cable from an open port on your network switch or the switch provided in your Firewall/Router and plug it into one of the LAN ports on the Wireless Router. Please DO NOT use the WAN or Internet port at all. After this your wireless clients should be on your domain with the same level of trust as your cable connected clients.
August 10th, 2006. First release.
August 11th, 2006. Added links to the introduction and information to address claims that these articles don't belong on CodeProject.