Назад | Перейти на главную страницу

Клиентский TTL dnsmasq

У меня ситуация, когда мой файл 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, возвращаемое клиентам для рекурсивных запросов.