Unable to Ping / Shared Network

Simon Hobson dhcp1 at thehobsons.co.uk
Wed Jul 6 18:04:33 UTC 2011


Barry Stear wrote:

>I have my isc-dhcp-server setup as a shared network with two subnets that
>are using the same interface (eth0). ETH0 is connected to a 5 port switch
>which connects Linksys router. The problem I have is that I cannot ping
>anything on the internet when I receive an IP address in the 192.168.100.X
>subnet. I am unable to ping 192.168.1.2 from the 192.168.100.X subnet.
>
>  I tried changing the 'options routers' for the 192.168.100.X subnet to
>192.168.1.2 and that didn't make a difference.

Your problem is one of routing, not DHCP. In summary, EVERY device 
should have a route available to it that will get packets to EVERY 
other device in the network. For a simple non-shared network, local 
devices can be reached via the ARP process - in effect, when a device 
needs to talk to another it shouts out "192.168.1.7, where are you 
?", and assuming it's there, the other device will respond with it's 
MAC address, after which the two can chat away.

Once you have a shared network then things get harder. Without local 
configuration on each device, they will need the assistance of a 
router. With a router, the devices don't even need to know that they 
are on a shared network - they just toss the packets at the router 
and let it deliver them.
So a simple solution is to configure at least one dual homed device 
(your DHCP server may well be a good candidate), turn on IP 
Forwarding, and tell any other routers about the routes it can 
handle. In fact, from your posted config, devices in the 
192.168.100.0 subnet are already using this machine as their gateway.
So go to your Linksys router, and you'll find a page for setting up 
static routes (from memory it's Setup (left hand tab) and Static 
Routes (near the right of the sub-menu)). Simply tell it that 
192.168.100.0/24 is reachable via 192.168.1.2 and things will 
probably start working.

If you do this then packets do take a tortuous route :
 From 192.168.1.x to 192.168.100.y : packets got to the Linksys at 
192.168.1.1, then to the server at 192.168.1.2, and then the the 
other device.
In the reverse direction, there is one less hop : packets go to the 
server at 192.168.100.1, but this knows about the locally connected 
192.168.1.0 subnet and forwards it directly to the destination.


As already pointed out, it is even better if you can configure the 
router with an address on both subnets. I don't recall seeing this on 
Linksys routers, but you can definitely do it with OpenWRT if your 
hardware supports that.


Yet another (high maintenance) method is to configure VERY device 
with either an address in both subnets OR a static route for the one 
it isn't a member of. I think it should be enough to tell a device on 
192.168.1.x a static route of "192.168.100.0/24 via <interface>" - 
and vice-versa for all devices on 192.168.100.0. They can then use 
ARP to find each other. But you cannot do this via DHCP.
That's why advice is normally to "let the routers deal with it" - ie 
you setup routers that can do it and the end devices need never know 
any details.

-- 
Simon Hobson

Visit http://www.magpiesnestpublishing.co.uk/ for books by acclaimed
author Gladys Hobson. Novels - poetry - short stories - ideal as
Christmas stocking fillers. Some available as e-books.



More information about the dhcp-users mailing list