Количество записей сервера имен в resolv.conf

Количество записей сервера имен в resolv.conf

Сколько записей сервера имен я могу предоставить /etc/resolv.conf? Я предоставил 2 записи сервера имен нашего интернет-провайдера как первую и вторую. Но поскольку у них иногда возникают проблемы, я хотел бы добавить запись публичного сервера имен Google. Имеет ли значение третья и четвертая запись?

Это resolv.confна нашем прокси-сервере (squid). Я понимаю, что Squid использует /etc/resolv.confдля разрешения имен.

решение1

На самом деле в файле /etc/resolv.conf разрешено указывать только три сервера.

Видеть:http://linux.die.net/man/5/resolv.conf

решение2

Моим первоначальным решением для преодоления ограничения в 3 сервера имен в системах с двойным стеком была установка dnsmasq, однако этот обходной путь слишком сильно увеличивает затраты на установку и обслуживание (я работаю со многими контейнерами lxc), поэтому мне требовалось более простое решение, которое, к счастью, существует.

Я обнаружил, что можно использовать systemd-resolved, который преодолевает ограничение в 3 сервера имен. В большинстве современных дистрибутивов все это настроено по умолчанию и готово к работе. Есть файл /etc/systemd/resolved.conf, в котором вы указываете IP-адреса серверов имен. Отредактируйте файл conf и добавьте свои серверы имен, затем запустите systemctl restart systemd-resolved. Готово!

Я заметил, что кто-то прокомментировал, что MAXNS в resolv.h больше нет. Исходная версия, которую я посмотрел на github, также не имела MAXNS, однако я помню, что не так давно столкнулся с ограничением в 3 сервера имен, так что, похоже, оно все еще действует.

Редактировать: В файле /etc/systemd/resolved.conf по умолчанию закомментированы записи, предполагающие, что можно указать более 3 DNS-серверов, однако при просмотре файла /run/systemd/resolve/resolv.conf я вижу этот комментарий

«Слишком много настроенных DNS-серверов, следующие записи могут быть проигнорированы».

Далее следует список дополнительных DNS-IP-адресов после первых 3.

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

решение3

Фактически, вы можете иметь столько серверов имен, сколько захотите. Просто помните, что разрешение не будет выполнено на первом, прежде чем перейти ко второму, и так далее. Пройдет некоторое время, прежде чем попытки разрешения имени дойдут до третьего и четвертого серверов имен.

Редактировать: Как объяснялось в комментариях к этому ответу, я ошибался. По умолчанию вы ограничены тремя серверами имен, и это, похоже, опция времени компиляции (поэтому ее нелегко изменить во время выполнения).

Связанный контент