DHCP for multiple subnets (was: Re: Routing and bandwidth problem)

Jeff Vian jvian10 at charter.net
Sun Jun 13 19:35:25 UTC 2004



Rodolfo J. Paiz wrote:

> At 06:25 6/13/2004, Matt . wrote:
>
>> The DHCP server shouldn't care what interface the request came in on, 
>> rather it looks at the source network of the request.
>
>
> I'm no expert on DHCP, but I continued this thread since no one around 
> here was able to help me solve this problem earlier. Hence, having 
> found a solution I'm posting it.
>
> Having said the "not an expert" bit, how the heck is a computer who 
> does not know what network it's on going to provide a source network 
> for the DHCP server? It wakes up, yells out a broadcast request for a 
> DHCP server, and the server has to answer that. The *only* way I see 
> to do that is via the network interface on which the request arrived 
> at the router.
>
>> So you server could support many different ranges, provided there was 
>> suitable separation (i.e. a router) between the subnets and the server.
>
>
> But that's precisely the point! We were seeking a way for *one* 
> machine to act as a router/firewall/gateway/dhcpd for four subnets 
> that are directly connected to it. No other routers exist in this 
> scenario. Of *course* if another router existed, it'd be a piece of 
> cake. But the question was: if this is the only router providing 
> Internet access for four separate networks who are currently not 
> connected to anything and don't have routers, how do you manage to 
> assign them separate subnets via DHCP?
>
> Only two solutions appear to exist and be functional: buying $75 
> Netgear blue boxes to do DHCP for the subnets and masquerading so that 
> all traffic to my server comes from a single IP address, and setting 
> up separate interfaces on my router box. The "blue box" route was 
> discarded due to the expense (why spend $300 if not necessary), the 
> additional points of failure (despite being highly reliable), the 
> additional configuration and maintenance required, and the slightly 
> lower functionality (if one user on those subnets were abusing 
> bandwidth, it'd be hell to find them).
>
> Having chosen to do it all on one box, the challenge appeared to be 
> for DHCPd to issue different addresses based on the interface on which 
> the request arrived. The documentation appeared to offer no easy way 
> to do this, and I interpreted that to mean that it would be a 
> difficult challenge. Turns out, it's automatic!
>
>         1. You *should* configure your dhcpd.conf for every subnet on 
> which your server has an interface even if the DHCP server does not 
> assign addresses (i.e. the subnet block does not include a range 
> statement).
>
>         2. The server will then automatically assign an address in the 
> correct subnet for every incoming request, assuming that it's been 
> told to assign addresses on that subnet via a range statement. Nothing 
> more to be done.
>
> Too simple. <grin>
>
> Cheers,

Your approach works, and if you have multipl;e hosts on the same subnet 
being served it may be best, as well as providing the routing for them.  

You also should consider the technique of assigning IP address based on 
the MAC address of the requester.  This technique is used to DHCP assign 
static ip addresses to servers on lots of networks.  There is no need to 
be tied to one interface per subnet, but rather since the DHCP request 
broadcast includes the MAC address of the requester (as well as the 
originating network IP if routed), it can be set in the configuration 
tables to specify the address to be assigned.


>
>





More information about the fedora-list mailing list