Как преодолеть libc ограничение сопоставителя максимальных 3 серверов имен?

Согласно этому ответу на ServerFault это похоже на лучший способ сделать, это произойти должно ввести pam_umask в целевую системную последовательность аутентификации.

7
30.12.2011, 20:31
5 ответов

Помещенный только 127.0.0.1 как сервер имен в /etc/resolv.conf, и выполненный кэш DNS локально. Я рекомендую Dnsmasq, это легко и легко установить. На дистрибутивах, таких как Debian и Ubuntu, я также рекомендую установить resolvconf пакет, который заботится о поддержании /etc/resolv.conf когда Вы не выполняете локальный кэш DNS, или поддержания конфигурации программы кэша DNS, когда Вы.

16
27.01.2020, 20:13
  • 1
    Да, локальный кэш DNS (и конкретно dnsmasq) добился цели. Я позволю мне для расширения решения ниже. –  malloc4k 08.01.2012, 15:40
  • 2
    я хотел бы добавить, что systemd обеспечит systemd-resolved.service, который является системной службой, которая справляется с сетевым определением имен. Это реализует кэширующийся сопоставитель тупика DNS и сопоставитель LLMNR и респондента. –  Cristian Ciupitu 21.01.2015, 01:05
  • 3
    я хотел бы добавить, что systemd обеспечит systemd-resolved.service, который является системной службой, которая справляется с сетевым определением имен. Это реализует кэширующийся сопоставитель тупика DNS и сопоставитель LLMNR и респондента. –  Cristian Ciupitu 21.01.2015, 01:05

Это - то, как я заставил Debian использовать больше чем 3 сервера имен за один раз.

  1. Установите dnsmasq пакет

  2. Настройте моего локального клиента DHCP для не использования адресов сервера DNS, обеспеченных сервером DHCP, но только локальным сервером вместо этого. Чтобы сделать так, я включаю мой /etc/dhcp/dhclient.conf зарегистрируйте следующую строку

    supersede domain-name-servers 127.0.0.1;

  3. Настройте dnsmasq для не использования значения по умолчанию /etc/resolv.conf файл, но его собственный альтернативный. В /etc/dnsmasq.conf добавьте следующую строку

    resolv-file=/etc/resolv.dmasq

  4. Создать /etc/resolv.dmasq со столькими серверами имен, сколько Вам нравится.

  5. Перезапустите dnsmasq сервис.

Я протестировал его с 9 определенными серверами имен, не содержащими мой домен. Система не могла разрешить свое имя. Когда я добавил 10-й сервер имен, система разрешила свое имя правильно.

6
27.01.2020, 20:13

От resolv.conf:

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

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

Можно ли повторить ту же строку ниже в conf файле так, чтобы несколько nameserver директивы добавляются. Каждая строка nameserver директива поддерживает до 3 адресов DNS (на строку).

Обратите внимание на то, что только один хост когда-либо пробуют, и это находится на верхней части списка в resolv.conf; если адрес не найден на первом сервере, или сервер не достижим, и только затем второе пробуют и затем продолжается для третьего сервера, если запрос на втором сервере перестал работать. Нет никакого циклического или случайного выбора серверов имен от resolv.conf во время разрешения хоста, таким образом, стоимость попытки всех серверов имен будет непосредственно налоговой на производительности базовых систем/приложений.

Однако я думаю, что Вы лучше реализуете локальный сервер имен кэширования, увеличение производительности DNS для приложений с помощью разрешения хоста увеличилось бы, если количество вызовов DNS уменьшается/зависится на задержке также.

Другой подход должен был бы использовать openDNS серверы, у них есть, возможно, наиболее обновленный и также быстро служащие серверы DNS в Интернете.

4
27.01.2020, 20:13

Другой ответ. Я не уверен, было ли это релевантно на Debian, но это - в последнее время больше стандартное (и модный) подход, который будет найден почти на всех последних выпусках распределения.

Используйте Сетевые профили. Идея состоит в том, чтобы переключиться на параметры сети в отличающаяся сетевая среда или динамично или вводы данных пользователем использования, в то время как все еще поддерживают копии конфигурационных файлов и настроек для всех других сетей, которые не могут быть активными в то время.

http://www.linuxhowtos.org/Tips%20and%20Tricks/switchingnetwork.htm http://www.linuxhomenetworking.com/forums/showthread.php/15822-Configure-multiple-network-profiles http://wiki.debian.org/NetworkManager

2
27.01.2020, 20:13

Отредактируйте /etc/resolvconf/update. d/libc следующую строку

[ "$N" = 3 ] && return 0

To

[ "$N" = 4 ] && return 0

Теперь вы можете вставить 4 сервера имен в /etc/network/interfaces, вставьте строку в ваш интерфейс

dns-nameservers x.x.x.x y.y.y.y a.a.a.a b.b.b.b
-2
27.01.2020, 20:13

Теги

Похожие вопросы