[Dnsmasq-discuss] illegal domain in dhcp-config directive
Simon Kelley
simon at thekelleys.org.uk
Mon Aug 4 16:16:41 BST 2008
Jason Dixon wrote:
> On Tue, Jul 29, 2008 at 07:40:52AM -0400, Jason Dixon wrote:
>
>>On Tue, Jul 29, 2008 at 07:48:32AM +0100, Simon Kelley wrote:
>>
>>>Jason Dixon wrote:
>>>
>>>>Thanks to the recent vulnerability, I'm upgrading an older dnsmasq
>>>>system from version 2.34 to 2.45. I've installed it and attempted to
>>>>run it, but I get the following error.
>>>>
>>>>dnsmasq: illegal domain 04-06.lab.foobar.com in dhcp-config directive.
>>>>
>>>>The same configuration works fine with 2.34, so I presume something has
>>>>changed in the configuration syntax or default settings. I haven't
>>>>found anything on Google or in the FAQ about this error, nor do I see
>>>>any "dhcp-config" directives in our config files or the sample config.
>>>>Here is the relevant line from our config:
>>>>
>>>>dhcp-host=00:0c:29:02:1f:06,ubuntu-8.04-06.lab.foobar.com,172.16.0.105
>>>>
>>>>It doesn't appear to be anything specifically with that line. We have a
>>>>couple hundred of these loaded by dnsmasq. If I comment out that one,
>>>>the next preceding one will error. I'm not experienced with dnsmasq, so
>>>>I'm putting myself at the mercy of this list. Any help will be greatly
>>>>appreciated. :)
>>>
>>>As far as I can see, this error can only be occuring because the domain
>>>part of the name your applying to that host doesn't match the domain
>>>specified for dnsmasq to use by the domain=<domain> config option.
>>>
>>>AFAIK dnsmasq has never allowed you to send a FQDN to a host unless it
>>>matches the domain setting (this is to avoid hosts impersonating, eg
>>>www.microsoft.com) but the check in this case has been moved from
>>>run-time, where it will log an error, to a fatal error at start-up
>>>
>>>The fix may be as simple as adding
>>>
>>>domain=04-06.lab.foobar.com
>>>
>>>(and you can remove the domain parts from all the dhcp-host lines as
>>>well, if you wish. If they stay, they must match the domain given)
>>
>>We have mixed domains in our configuration. I see the following line in
>>the main dnsmasq.conf, which would account for most of the dhcp-host
>>entries:
>>
>>local=/lab.foobar.com/wifi.foobar.com/
>>
>>I see no domain directives anywhere. I suspect that adding
>>04-06.lab.foobar.com to the local directive might be sufficient, but I'm
>>just guessing. And yes, this configuration works fine with
>>dnsmasq-2.34.
>
>
> I tried various changes to our configuration but couldn't find a working
> set. I'm including a subset of our configuration here so you can see
> what might be causing the issue. The only bits I've left out include
> redundant information (e.g. dhcp-host). Just to reiterate, this works
> under 2.34 but is broken under 2.45.
>
>
> # cat /etc/dnsmasq.conf | grep -v '^$' | grep -v '^\#'
> filterwin2k
> local=/lab.foobar.com/wifi.foobar.com/
> interface=eth0
> expand-hosts
> dhcp-option=3,172.16.0.1
> dhcp-option=42,0.0.0.0
> conf-file=/etc/dnsmasq.lab.conf
> conf-file=/etc/dnsmasq.wifi.conf
>
> # cat /etc/dnsmasq.lab.conf | grep -v '^$' | grep -v '^\#'
> dhcp-range=lab,172.16.0.10,172.16.0.81,12h
> dhcp-option=lab,15,lab.foobar.com
> dhcp-host=00:0e:0c:bc:17:70,lab01.lab.foobar.com,172.16.0.10
> dhcp-host=00:0c:29:ff:96:a7,solaris.lab.foobar.com,172.16.0.6
> dhcp-host=00:0c:29:ff:96:xx,windows.lab.foobar.com,172.16.0.7
> dhcp-host=00:0c:29:db:8a:b3,centos.lab.foobar.com,172.16.0.5
> dhcp-host=00:0c:29:3c:58:01,centos-4.4-01.lab.foobar.com,172.16.0.82
>
> # cat /etc/dnsmasq.wifi.conf | grep -v '^$' | grep -v '^\#'
> dhcp-range=wifi,172.16.0.200,172.16.0.250,3d
> dhcp-option=wifi,15,wifi.foobar.com
>
>
> Thanks,
>
Are the names in your dhcp-host entries _all_ "<name>.lab.foobar.com"?
If so, the simply adding
domain=lab.foobar.com
will fix things. I imagine that under 2.34 you will have seen lots of
complaints logged about this, 2.45 has turned soft errors into hard ones.
If there are names in more than one domain, the problem in more
complicated to fix: you may need to try the new "multi-domain" code.
Cheers,
Simon.
More information about the Dnsmasq-discuss
mailing list