У меня ситуация, когда мой файл hosts постоянно меняется. Из-за этого я не хочу, чтобы клиенты кешировали IP-адреса, разрешенные с помощью файла hosts. Вот команда, которая запускает для меня dnsmasq:
/usr/sbin/dnsmasq -K -R -y -Z -b -E -S 8.8.8.8 -l /tmp/dhcp.leases -r /tmp/resolv.conf.auto --stop-dns-rebind --rebind-localhost-ok --dhcp-range=lan,192.168.2.2,192.168.2.249,255.255.255.0,12h -2 eth0
Глядя на этот сайт: http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html
Я вижу, что опция -T имеет следующее описание:
-T, --local-ttl=<time>
When replying with information from /etc/hosts or the DHCP leases file
dnsmasq by default sets the time-to-live field to zero, meaning that
the requester should not itself cache the information. This is the
correct thing to do in almost all situations. This option allows a
time-to-live (in seconds) to be given for these replies. This will
reduce the load on the server at the expense of clients using stale
data under some circumstances.
В моей команде нет опции -T. Нужен ли он мне или без него ttl по умолчанию dnsmasq равен нулю?
Правильно, если опустить -T
или --local-ttl
флаг, он просто по умолчанию равен нулю (для запросов с локального компьютера, например, от вашего hosts
файл).
Вы также можете установить --max-ttl
флаг, указывающий максимальное значение TTL, возвращаемое клиентам для рекурсивных запросов.