Бесшовный переход на другой DNS сервер в resolv.conf?

Ссылка скопирована
15 января 2026 1 ответ

Суть вопроса в следующем, в resolv.conf указано два сервера DNS и если первый сервер перестаёт отвечать то по сценарию запросы идут на второй. Но проблема в том что эти запросы начинают идти с затупами и с задержками, так как каждый раз и каждый запрос система спотыкается об этот мервый первый сервер и по истечению какого-то таймаута обращается ко второму и так по кругу. Различные опции в resolv.conf не помогают решить эту проблему

Вопрос, есть ли возможность сделать в resolv.conf или при помощи других инструментов бесшовный переход от мертвого DNS к живому без постоянной долбёжки в тот самый мертвый DNS адрес

Дополнительно:

может проще нормальный dns сервер прописать?

  • Переходи на resolvctl
  • Everything_is_bad, у нас разное понятие нормальности, для вас нормально это когда DNS просто работает (вроде 8.8.8.8 или 1.1.1.1) а для меня нормальность когда все DNS запросы принадлежат только мне и никто не занимается трекингом за мной, никто не создаёт на меня классификатор поведенческой цепочки.

    В моём случае за стабильность DNS отвечаю только я, и я не могу гарантировать что в датацентре где хостится сервак не упадёт что либо. Поэтому есть зеркало в другом датацентре, отсюда задача.

  • Valentin Barbolin, Спасибо за подсказку
  • Настрой кеширующий DNS сервер на этой машине и укажи в resolv.conf nameserver 127.0.0.1 помимо того, что запрос будет отправлен сразу на несколько серверов, что исправит указанную в вопросе проблему побочным эффектом будет некоторое ускорение резолвинга за счёт кеширования (главное не переборщить с TTL).

    • У меня уже есть DNS сервер, основой и зеркало. Задача как раз остальные 9 серверов направить на эти два адреса. Предложенный вами вариант очень хорошь, но у меня на центральном DNS сервере постоянно добавляются или правятся списки блокировок (трекеры и реклама). Хотелось бы как то научить реагировать систему более логично реагировать на падение одного из серверов. По сути прописывать второй DNS сервер в resolv.conf полный бред так как при падении первого система всё равно превращается в тыкву, это очень очень странно. Как ни странно, но Windows в этом плане риагирует на падение одного из серверов вообще незаметно для пользователя.
    • Всё таки воспользовался вашим решением, скорость резолвинга просто сумасшедшая, мне нравится :)

    Ответы:

    Может тупо скрипт написать, который будет пинги слать каждые несколько секунд на основной DNS сервер, и если он становится недоступным вносить изменения в resolv.conf? Да, костыль, но тем не менее.

    • Кстати да, хорошая идея! Я серьёзно подумаю над этим :)
    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Антон С. Ответ

    Для осуществления бесшовного перехода на другой DNS сервер в файле resolv.conf можно использовать инструмент resolvconf. Resolvconf — это пакет, предназначенный для управления файлом resolv.conf, который содержит информацию о DNS серверах.

    Для начала установим пакет resolvconf, если его еще нет на системе:

    sudo apt-get update
    sudo apt-get install resolvconf

    sudo apt-get update sudo apt-get install resolvconf

    После установки пакета resolvconf, мы можем добавить DNS сервера, которые будут использоваться в файле resolvconf:

    sudo nano /etc/resolvconf/resolv.conf.d/base

    sudo nano /etc/resolvconf/resolv.conf.d/base

    В открывшемся файле добавляем IP-адреса DNS серверов, которые вы хотите использовать, например:

    nameserver 8.8.8.8
    nameserver 8.8.4.4

    nameserver 8.8.8.8 nameserver 8.8.4.4

    Сохраните изменения и закройте файл. Затем обновите конфигурацию resolvconf:

    sudo resolvconf -u

    sudo resolvconf -u

    Теперь ваша система будет использовать новые DNS сервера, указанные в файле resolvconf, для разрешения DNS запросов. Если вам нужно вернуться к предыдущим настройкам, просто удалите или закомментируйте добавленные строки с DNS серверами из файла /etc/resolvconf/resolv.conf.d/base и повторите команду обновления конфигурации resolvconf.

    Таким образом, вы можете легко осуществить бесшовный переход на другой DNS сервер в файле resolv.conf с помощью инструмента resolvconf.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно