Скільки часу зберігається кеш dnsmasq?


9

Я переглянув сторінку чоловіка і не міг знайти, як довго dnsmasq кешує dns. яке правило кешування та закінчення терміну дії?

У мене виникає проблема, коли запит надсилання до зовнішньої служби іноді займає більше 5 або 10 секунд для пошуку імені. Я міг би зберегти зовнішню службу ip до / etc / hosts, але боюся зміни ip. Встановлення Dnsmasq покращує пошук імен, але повільний пошук імен все ще відбувається з меншою частотою.

Одним із варіантів є встановлення простого пінг-програми на роботі з Cron, але мені потрібно спочатку з’ясувати час закінчення терміну дії.

Дякую.

ОНОВЛЕННЯ

додано вихід копання

; <<>> DiG 9.8.1-P1 <<>> api.mch.weixin.qq.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45012
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;api.mch.weixin.qq.com.             IN      A

;; ANSWER SECTION:
api.mch.weixin.qq.com.      0       IN      A       140.207.69.102

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Jul 17 19:24:36 2015
;; MSG SIZE  rcvd: 55

ОНОВЛЕННЯ 2

попередній вихід копання містить TTL як 0, що вводить в оману. Я розмістив ще один висновок копати.

; <<>> DiG 9.8.1-P1 <<>> api.mch.weixin.qq.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60900
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;api.mch.weixin.qq.com.             IN      A

;; ANSWER SECTION:
api.mch.weixin.qq.com.      181     IN      CNAME   forward.qq.com.
forward.qq.com.             181     IN      A       101.226.90.149
forward.qq.com.             181     IN      A       101.226.129.200

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Jul 21 12:01:54 2015
;; MSG SIZE  rcvd: 99

Відповіді:


9

DNSmasq використовує значення DNS TTL для визначення періоду кешування. Ви можете скористатися digкомандою для запиту поточного TTL вашого DNS-сервера для цього домену.


Ви маєте на увазі, що dnsmasq кешує dns лише протягом періоду TTL? Я оновив своє запитання виведенням копання.
perlwle

1
Так, для кешування використовується лише період TTL. А ваш TTL дорівнює 0, тому DNSmasq завжди буде робити запит на авторитетний DNS-сервер.
Tero Kilkanen

Однак, як зазначено в посібнику, ви можете використовувати --max-cache-ttl для примушення нижчих TTL для кешованих значень (не перевіряв це сам).
sam_pan_mariusz

@TeroKilkanen Query time: 0msecозначає потрапляння кешу на dnsmasq. але як довго dnsmasq буде зберігати dns запис у кеші?
perlwle

@sam_pan_mariusz Я думаю, ти мав на увазі --max_ttlпрапор? Я вважаю за краще завжди отримувати правильний IP, ніж пропускати зміну IP зовнішньої служби.
perlwle

4

Варіант, який вам потрібно буде встановити для dnsmasq, - --min-cache-ttlце значення в секундах.

Відповідно до виводу копання, TTL дорівнює 0, якщо встановити це, скажімо --min-cache-ttl=600, тоді значення TTL, яке буде повернуто копанням, буде 600. TTL, api.mch.weixin.qq.comзвідки я - 600, тому встановіть його на 600 секунд самостійно повинні бути досить безпечними, щоб уникнути пропуску будь-яких змін IP-адреси. (Я здогадуюсь, ви знаходитесь в Китаї.)

Це призведе до того, що всі записи DNS вважатимуться дійсними протягом 10 хвилин.

Дивіться повідомлення зі списком розсилки dnsmasq із деталізацією введення цієї функції.


Я збираюся пінг кожні 10 хвилин або близько того, сподіваюсь, що це виправить відставання пошуку dns. Як було сказано в попередньому коментарі, я використовую старішу версію, яка не має цього налаштування. Виправте мене, якщо я помиляюся .. Однак, якщо він є, встановлення його на 600 буде таким же, як і зовнішня служба TTL. Це не має ніякого значення, чи не так?
perlwle

1
@perlwle Ні, це не так, я вважав, що ви завжди отримували нульовий TTL, збільшуючи його до 1200, це допоможе. Я б запропонував заглянути в DNSCrypt . Без додаткової інформації про тривалість пошуку, швидкість підключення та ефекти третьої сторони я не можу дати більш чітку відповідь. Якщо вам потрібен більш потужний кеш / DNS-кеш, я рекомендую основну частину цього підручника про Unbound, він прекрасно працює на Ubuntu 12.04 зі стандартних сховищ. (Зверніть увагу, що Google DNS зараз належним чином обробляє DNSSEC.)
Фізики

1
Також зверніть увагу на dnsmasq "local-ttl" для цих записів файлів хоста
KCD
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.