[Dnsmasq-discuss] DNS set using dhcp-host expires?

Jiawen Chen jiawen at gmail.com
Tue Apr 21 14:57:34 BST 2020


Thanks! That makes sense. I will give that a shot.

On Tue, Apr 21, 2020 at 3:06 AM Geert Stappers <stappers at stappers.nl> wrote:

> On Mon, Apr 20, 2020 at 10:27:11PM -0400, Jiawen Chen wrote:
> > Hi,
> >
>     ...
> >
> > I'm using dnsmasq for DHCP + DNS on my home LAN and use dhcp-host to
> > statically assign an IP address and hostname. However, I'm discovering
> that
> > while it works most of the time, sometimes, ssh for example, can't find
> the
> > host by name, only IP. One instance is a Linux VM. Initially I can ssh
> into
> > the VM. But if I power down the VM for say a few days, and start it back
> > up, the name is missing (even though it is somehow assigned the same IP
> (it
> > keeps its MAC)).
> >
> > dnsmasq.conf:
> > ```
> > # other irrelevant stuff
> >
> > no-resolv
> > server=8.8.8.8
> > server=8.8.4.4
> > server=1.1.1.1
> >
> > expand-hosts
> > domain-needed
> > bogus-priv
> > local=/internal/
> >
> > # Assign 192.168.0.150 to my living room pc
> >
> dhcp-host=<livingroom_pc_MAC_redacted>,192.168.0.150,livingroom.internal,infinite
> >
> > # Assign 192.168.0.151 to my file server
> >
> dhcp-host=<fileserver_MAC_redacted>,192.168.0.151,fileserver.internal,infinite
> > ```
>
> I suggest to change  the   ',infinite'   into something like  ',12h' for
> the servers that are be powered-off of for several days.
>
> What I think is that the DNS cache  entry expires ( and I think that it
> is valid behaviour.)
>
> Expriment that can be done:
>
>  * Restart dnsmasq,  so it forgets about dhcp-hosts in DNS cache
>  * Check cache dump with  SIGUSR1
>  * Power-on an infinite DHCP client e.g. the Linux VM
>  * Check cache dump with SIGUSR1
>  * Regular work with the example Linux VM
>  * Power-off the infinite DHCP client
>  * Sample several days the cache dump
>  * Report when the DNS entry of the powered-off server is gone
>
>
> Recipe to sabotage the expriment:
>   while true
>   do
>      nslookup  linuxVM  >   output
>      process_output
>      if  hostname_not_found
>      then
>         exit
>      fi
>      sleep 2 hour
>   done
>
> because it keeps the DNS entry in cache.
>
>
> >
> > For these static DHCP leases, is the best practice to set them in
> > /etc/hosts instead?
> >
> > I also discovered --host-record, which does something very similar. Is
> > there an advantage in using one option vs the other?
> >
>
>
> Groeten
> Geert Stappers
> --
> Silence is hard to parse
>
> _______________________________________________
> Dnsmasq-discuss mailing list
> Dnsmasq-discuss at lists.thekelleys.org.uk
> http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/attachments/20200421/d13d10fc/attachment.html>


More information about the Dnsmasq-discuss mailing list