Next Previous Contents

7. Routing

If you are using a Linux PC with two network interfaces to route between two (or more) subnets, you need to have IP Forwarding enabled in your kernel. Do a

        cat /proc/ksyms | grep ip_forward

You should get back something like...

00141364 ip_forward_Rf71ac834

If you do not, then you do not have IP-Forwarding enabled in your kernel and you need to recompile and install a new kernel.

For the sake of this example, let us assume that you have decided to subnetwork you C class IP network number into 4 subnets (each of 62 usable interface/host IP numbers). However, two of these subnets are being combined into a larger single network, giving three physical networks.

These are :-

Network         Broadcast       Netmask                 Hosts         62         62         124 (see note)

Note: the reason the last network has only 124 usable network addresses (not 126 as would be expected from the network mask) is that it is really a 'super net' of two subnetworks. Hosts on the other two networks will interpret as the network address of the 'non-existent' subnetwork. Similarly, they will interpret as the broadcast address of the 'non-existent' subnetwork.

So, if you use or 192 as host addresses on the third network, then machines on the two smaller networks will not be able to communicate with them.

This illustrates an important point with subnetworks - the usable addresses are determined by the SMALLEST subnetwork in that address space.

7.1 The routing tables

Let us assume that a computer running Linux is acting as a router for this network. It will have three network interfaces to the local LANs and possibly a fourth interface to the Internet (which would be its default route.

Let us assume that the Linux computer uses the lowest available IP address in each subnetwork on its interface to that network. It would configure its network interfaces as

Interface       IP Address      Netmask

The routing it would establish would be

Destination     Gateway         Genmask         Iface eth0 eth1 eth2

On each of the subnetworks, the hosts would be configured with their own IP number and net mask (appropriate for the particular network). Each host would declare the Linux PC as its gateway/router, specifying the Linux PCs IP address for its interface on to that particular network.

Robert Hart Melbourne, Australia March 1997.

Next Previous Contents