ISC DHCP server ignores fixed address specification for Circuit-ID

Bill Shirley bill at c3po.polymerindustries.biz
Mon Nov 26 19:25:09 UTC 2018


Yes, always put host declarations in the global context.  However, you can do this:
host Brother-MFC-J615W    {
   hardware ethernet 00:1B:A9:3D:2D:E3;
   fixed-address 192.168.4.63, 192.168.6.63;
   ddns-hostname "Brother-MFC-J615W";
}
This host statement will be used for both the 192.168.4.0/24 and the 192.168.6.0/24
subnets.

Bill

On 11/21/2018 4:02 PM, Simon Hobson wrote:
> codedd713 <codedd713 at protonmail.com> wrote:
>
>> Thank you for that information! If the host declaration (even if on a different subnet) takes higher precedence to the client's subnet, it would really explain quite a bit.
>>
>> But exploring on that front, here is something I came across on the ISC portal describing the dhcpd.conf file, quoted :
>>
>> Link : https://www.isc.org/wp-content/uploads/2017/08/dhcp43.html
>>
>> "
>> When dhcpd tries to find a host declaration for a client, it first LOOKS FOR A HOST DECLARATION which has a fixed-address declaration that lists an IP address THAT IS VALID FOR THE SUBNET or shared network ON WHICH THE CLIENT IS BOOTING. If it doesn’t find any such entry, it tries to find an entry which has no fixed-address declaration.
>> "
>>
>> - pardon the CAPS, just wanted to place that in focus
>>
>> Would this suggest that dhcpd picks the host declaration that is within the subnet of the client, and not other subnets?
> It's not quite how (as I read what you've written) you think.
>
> It doesn't mean :
>
> subnet 192.168.1....
>    ...
>    host ... {
>      match hardware 1:aa:bb:cc:dd:ee:ff;
>      fixed address 192.168.1...;
>    }
> }
> subnet 192.168.2...
>    ...
>    host ... {
>      match hardware 1:aa:bb:cc:dd:ee:ff;
>      fixed address 192.168.2...;
>    }
> }
>
> What it means is :
>
> subnet 192,168.1...
>    ...
> }
> subnet 192,168.1...
>    ...
> }
> host ... {
>    match hardware 1:aa:bb:cc:dd:ee:ff;
>    fixed address 192.168.2...;
> }
>
> If the client is connected to the 192.168.2... subnet then the host statement will be valid and used. If the client is connected to the 192.168.1... network then the host statement won't be used as the fixed address isn't valid.
> However, if you were to put the host statement within the subnet like this :
>
> subnet 192,168.1...
>    ...
>    host ... {
>      match hardware 1:aa:bb:cc:dd:ee:ff;
>      fixed address 192.168.2...;
>    }
> }
> subnet 192,168.1...
>    ...
> }
> then the effect would be the same as the host statement is global and matches when the client is connected to the 192.168.2... network. **BUT** the host would also inherit options from the wrong network in that case - getting (eg) 192.168.1.1 as the router even though it's fixed address is (eg) 192.168.2.123.
>
> Since this latter inheritance issue is almost always not what anyone wants, the general advice is never put host statements other than in the global scope (or within a group statement if you want them to share common options).
>
>
> _______________________________________________
> dhcp-users mailing list
> dhcp-users at lists.isc.org
> https://lists.isc.org/mailman/listinfo/dhcp-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/dhcp-users/attachments/20181126/05b131e0/attachment.html>


More information about the dhcp-users mailing list