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

Неожиданное поведение опции 'попытки' в /etc/resolv.conf

Я бы хотел, чтобы Linux сделал только один запрос к DNS-серверу, дождался тайм-аута 5 секунд и затем прервал поиск, если нет ответа.

Для этого я установил следующие параметры в /etc/resolv.conf при условии, что attempts элемент в options означает точное количество DNS-запросов:

nameserver 'DNS Server IP address'
domain     'Domain Name'
options     attempts:1 timeout:5

Но система ведет себя неожиданно. Фактически для этих настроек я наблюдаю:

DNS request
Wait for a 5 sec timeout
DNS request repeat
Wait for a 5 sec timeout

Если я выставлю попытки: 2, будет 4 запроса.

  1. Правильно ли я понимаю, что «1 попытка» на самом деле означает «сделать запрос, а затем повторно запросить его по истечении тайм-аута»?

  2. Есть ли способ изменить это поведение, чтобы система отправляла только один DNS-запрос за 1 попытку?

Спасибо

Ваша интерпретация мне кажется правильной.

Вы проверили, что это за два запроса? Может, первый для AAAA запись, а вторая - для A запись, что является нормальным поведением. Если да, попробуйте добавить inet6:off в options Тоже, наверное, тривиально, но проверьте количество nameserver предметы, которые у вас есть. Таймаут для каждого из них последовательно.