[Dnsmasq-discuss] Use dnsmasq to assign static /32 addresses via DHCP

Peter Lieven pl at kamp.de
Fri Mar 15 16:44:42 GMT 2019


Am 15.03.19 um 16:02 schrieb Simon Kelley:
> On 15/03/2019 12:44, Peter Lieven wrote:
>> Hi Simon,
>>
>> Am 14.03.19 um 18:41 schrieb Simon Kelley:
>>> Is this a use for something like the ISC dhcpd shared-network configuration.
>>>
>>>
>>> In the dnsmasq case, we could have something like
>>>
>>> shared-network=<interface>,<address/prefix-length>
>>>
>>> or
>>>
>>> shared-network=<interface-address>,<address/prefix-length>
>>>
>>> In the first case dnsmasq would behave _as_if_ the specified interface
>>> carried the address and netmask specified.
>>>
>>> In the second case, it would behave as if the interface which carries
>>> interface-address also carried the address and netmask specified.
>>>
>>> If I've understood correctly, you'd just need a shared-network
>>> declaration for each of your /24s.
>>
>> What you describe is exactly what I would need. However, as far
>>
>> as I understand the documentation of the shared network feature in ISC dhcpd
>>
>> they still require that the network is configured on the DHCP interface (as alias, secondary etc.).
>>
>> This already works in dnsmasqd. I would need the feature that does not
>>
>> require the addresses to be actually configured on the interface as you
>>
>> describe it.
>>
>
> I may have miss-understood the dhcpd case - what it does or doesn't do
> is probably irrelevant to what dnsmasq can  do in this case.
>
>
> As far as I can see, there's no reason why it shouldn't work, with the
> following caveats.
>
> 1) The DHCP server interface must have at least one address configured,
> and that address needs to be reachable from configured clients. This
> address gets used as the "server identifier" field in unicast
> transmissions from the client to the server for things like lease
> renewal. The case that the server-id is not on the same network as the
> client is not new, it's the case when using a DHCP relay.


Thats totally fine and its already the case today. The GW is a virtual

address on the DHCP Interface.


>
> 2) Dnsmasq currently guesses at the default router to send to a client,
> unless it's overridden by configuration. This is either its own address
> on the network where the client is given an address, or, if the DHCP
> came via relay, then it's the address of the relay on the network where
> the client is given an address. In the case that a client is being given
> an address on a network where neither the DHCP server or the DHCP relay
> have an address, there's no sensible guess for what the client's default
> router should be set to, so explicit configuration will have to be
> mandatory.


Thats also okay. The Router is reachable via a classless static route as

the virtual GW is not part of the network. Most modern DHCP clients

support this even without the classless static route option if the netmask

is 255.255.255.255. Thats the common scenario e.g. in cable networks

where each client gets a /32 IPv4 address as well.


Best,

Peter





More information about the Dnsmasq-discuss mailing list