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