My Home Network Step by Step

The Software (part 1)




All tutorials on software setup will teach you where to click to make your system work. This is useless: user interfaces are all different and change continuously; your knowledge of click buttons will be valueless next year.
The only way to survive in the fast changing world of software is to understand the basics. Basics things are the same since 30 years or more and don't change often. Once well understood what you are doing, you have only to look for the correct button to click, but, if you learn buttons, when buttons change you are lost, and buttons change always.

So I will try to explain the basic topics, with my equipment as an example, things are the same everywhere, only the interface is different.


If you have read the page with the network basics you can argue that you have to do the followings:
  1. give to each computer a network number in a private network;
  2. setup the routing table of each computer, saying that the private network is directly reachable, all the other connet ions must go to the router, which is your default route;
  3. tell to each computer the IP number of an internet name server;
  4. in the router configure the ADSL connection, with the parameters your provider gave you;
  5. in the router setup the routing table: the local network is directly connected, the default route is the ADSL connection to the provider;
  6. the router must have NAT enabled, to allow all the computer to exit to internet.
  7. Optionally you can forward some port of the router to a computer of your network, to provide services to the internet.

If your router has a DHCP server (as usually happens), actions at points 1,2,3 are done by the DHCP. But also point 5 and 6 are done in an automated way by the router, once connected to your provider.
So plug the cables, do what is described at point 4 (a simple web interface helps you) and you are done.


In the following picture a scheme of the configuration:

layout of my net

Computer's Network Setup for Linux


Most ADSL routers have an easy web interface for configuration, and following the instruction on the manual is easy.

To access the router web interface you have to connect a computer to the router; so you have to set-up the network on the computer first.
If the computer default configuration is to ask for a number to a DHCP server, plugging the ethernet cable can be enough: the router default configuration is to have the DHCP service activated; in this way as soon as you plug the cable your computer will ask for a number to the router and the router will give to the computer the IP number, the default route etc.

If you are not lucky you have to setup the network on the computer by hands. Look into the router manual to see what private network is used by the router. My router use the number 192.168.1.254. I have to choose a number on the same net as: 192.168.1.10 , but any valid number is good; different from the router number, and, remember: no number greater than 255 in your IP!
On a Linux machine a simple way is to open a root terminal and type something like:

  
ifconfig eth0 192.168.1.10 netmask 255.255.255.0  up
 

ifconfig is the command for network interface configuration. If you simply type:
  
 ifconfig
 

you see the status of your network interfaces, something like this:

 
eth0      Link encap:Ethernet  HWaddr 00:18:4D:79:4C:AF
          inet addr:192.168.1.10  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:17920 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12379 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:24648094 (23.5 MiB)  TX bytes:999814 (976.3 KiB)
          Interrupt:233 Base address:0x4000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:877 errors:0 dropped:0 overruns:0 frame:0
          TX packets:877 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:243984 (238.2 KiB)  TX bytes:243984 (238.2 KiB)

"lo" is the name of your loopback interface: as the computer sees himself in the network. "eth0" is the name of your real network interface. Among the information you see there is the ip number: "inet addr:192.168.1.10", the network mask: "Mask:255.255.255.0" , the identifier of your network card: "HWaddr 00:18:4D:79:4C:AF" and some statistics showing the received and transmitted data.

On some laptop you can have something different from the name eth0, as eth1. If you have trouble type:

  
 dmesg | more
 

press the space bar to see the subsequent pages in the list. The list shows you what your Linux kernel did at start up, don't worry if it seems impossible to understand, only Linux kernel hackers really understand the details of these information, but to look for lines beginning with "eth" to see what network interfaces your kernel sees.

KDE 3.5.5 networking windows
Seems a terrific task? Well, today you needn't do that, your desktop interface has utilities that do the job, for example: on KDE, version 3.5.5, click on the main pull-down menu, choose "system", then "networking". A window appears where you can set up your network, without using ifconfig by hand (is your nice interface that types for you: "ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up"). Other desktop have similar tools. Sometimes you have a "network manager" icon on your main bar on the desktop to configure your net.


Computer's Network Setup for Windows


Windows XP net wizard
On Windows XP you have a "Network Setup Wizard" to configure the network. I've never used it (as you have understood I don't like Windows), but there are millions of internet pages explaining how to do; they says that you have to click: "Start" -> "Control Panel" -> "Network And Internet Connections" -> "Setup Or Change Your Home Or Small Office Network",
and the simple wizard will easily drive you.

WinXp-net window Internet connection XP window
Another way is to open explorer, and click with the right mouse button on: "My Network Place" then select: "Properties".
The "Network Connections" window will appear.
Select your local area connection, click with the right mouse button to obtain the pull-down menu, then, again, click: "Properties".

XP window: net connect properties
This window will appear, select: "internet protocol(TCP/IP)", then click the button: "Properties".
You should see a window in which to set up your network.
If the item "Internet Protocol(TCP/IP)" doesn't appear you have to install TCP/IP. There is an "install" button which should help.

WXP IP settings
Here choose: "Use the following IP address" and, finally, put there your IP number. Maybe typing: "ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up" was easier...

If you choose: "Obtain an IP address automatically" your computer will send on the net a request for an IP number. If the router is configured as a DHCP server, it will give an address to your computer, otherwise nobody replays to your desperate computer request. It remains without an IP address and can't use the network.
The last choice in the window is used to give the IP number of the DNS server (to call computers by name insted of by IP number), this should be the IP of a DNS server of your provider, or the IP of the router, if the router is able to make DNS query for you. You needn't a DSN server now, you have only to connect to the router, using IP numbers, not names.

Give a try to the windows way, if you will not succeed boot your Windows PC with a Linux Knoppix live CD and use the knoppix net setup window, that's really easy.