Настройка времени, необходимого Linux для переключения на резервный DNS-сервер, указанный в resolv.conf


15

В настоящее время я использую простую конфигурацию Linux Vanilla для resolv.conf... что-то вроде:

nameserver 123.123.123.123
nameserver 8.8.8.8

Когда 123.123.123.123 отключается, DNS-запросы становятся невозможными медленно, я предполагаю, что Linux повторяет первый каждый раз. Есть ли способ заставить Linux быть умнее в этом? Проверка здоровья или что-то? Или я неправильно понимаю, как resolv.confдолжно работать?

Ответы:


18

В дополнение к удивительному ответу ewwhite, добавление.

Вы можете добавить это в /etc/resolv.conf

options timeout:1 attempts:1 rotate

По умолчанию время: 5 попыток: 2

Что происходит, так это то, что библиотека распознавателя будет пытаться использовать серверы имен, перечисленные /etc/resolv.confсверху вниз, если опция поворота отсутствует. Если вращение присутствует, то оно делает выбор в циклическом порядке. Если распознаватель переходит в конец списка, а сервер не отвечает в течение X секунд (учитывая, что X является параметром тайм-аута), то он повторяет весь процесс выбора циклического перебора еще раз Y-1 (где Y - ценность попыток).

Однако следует соблюдать осторожность, чтобы не копать друзей и друзей для проверки этих опций resolv.conf. Как они избегают библиотек распознавателя и напрямую спрашивают серверы имен. Лучше использовать команду getent hosts. Обратите внимание, что все, что использует glibc resolver, должно подчиняться /etc/resolv.confфайлу.


12

Это описано с помощью man resolv.conf.

Пожалуйста, попробуйте один из вариантов тайм-аута, чтобы уменьшить значение по умолчанию с 5 секунд до, возможно, 1 секунды ...

options timeout:1
nameserver 123.123.123.123
nameserver 8.8.8.8

Но на самом деле DNS имеет так много доступных возможностей, что можно жить без тайм-аутов с более низким разрешением. Можно ли выбрать лучший общедоступный DNS или запустить собственный внутренний распознаватель?

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.