3

I have a Juniper switch that has a dhcp-client configured like this:

show interfaces irb unit 0 family inet dhcp                      
client-identifier {
    prefix {
        host-name;
    }
}

I want dnsmasq to assign the juniper switch a ip-address and use the client-identifier.

tcpdump shows that the juniper switch sends

[...]
Client-ID Option 61, length 10: "MSWI:MSWI"
[...]

if I configure this string in dnsmasq like so:

dhcp-host=id:"MSWI:MSWI",192.168.4.252,MSWI

the ip address gets not assigned. user-id ascii MSWI works, but I have to use prefix host-name in production

I suspect that my dnsmasq configuration is wrong, but I don't know what to change

Any ideas?

TIA

1 Answer 1

3

I found the solution. dnsmasq must be started with --dhcp-authorative.

Otherwise dnsmasq ignores requests from unknown leases. In my case I changed the configuration of dnsmasq and the switch until it worked. However, these changes did not solve the problem. Instead, when I rebooted the switch the address was not assigned again.

The solution has nothing to do with the client-identifier. The switch got an ip-address without a client-identifier and none with a client-identifier. This lead me on the wrong track.

Instead it is a timing-problem.

The timeout mentioned in the manpage explains this behaviour.

the manpage says:

-K, --dhcp-authoritative Should be set when dnsmasq is definitely the only DHCP server on a network. For DHCPv4, it changes the behaviour from strict RFC compliance so that DHCP requests on unknown leases from unknown hosts are not ignored. This allows new hosts to get a lease without a tedious timeout under all circumstances.

[...]

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.