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

Как предотвратить поиск DNS, если служба уже отключила поиск DNS?

Мое предприятие недавно развернуло возможность DNS для всех систем на предприятии. Из-за случайной ошибки асинхронной маршрутизации для некоторых из наших серверов мы обнаружили, что даже когда служба отключила обратный поиск DNS (например, «disable_dns_lookups» в Postfix и «UseDNS no» в SSH), RHEL 5 по-прежнему выполняет какие-то поиска по настроенным серверам имен в собственном файле /etc/resolv.conf сервера.

Конфигурация, которую мы ожидали, заключалась в том, чтобы позволить записям сервера имен оставаться в файле /etc/resolv.conf, но отключение поиска DNS можно было отключить в различных службах.

Я знаю, что эти записи вызывают проблему; когда записи сервера имен удаляются из файла / etc / resolv / conf, система очень быстро реагирует на SMTP и SSH (менее секунды). Когда серверы имен включены, есть определенные 10-секундные задержки. Я ожидал, что отключив поиск DNS в службе, чтобы решить эту проблему.

Вот один из примеров поведения, которое я наблюдаю: Использование SSH без записей сервера имен:

  1. SSH на сервер на предприятии.
  2. SSH к серверу, на котором запросы DNS выполняются медленно.
  3. При появлении запроса введите пароль.
  4. Сервер мгновенно отвечает приглашением оболочки.

Использование SSH с записями сервера имен:

  1. SSH на сервер на предприятии.
  2. SSH к серверу, на котором запросы DNS выполняются медленно.
  3. При появлении запроса введите пароль.
  4. Подождите 10 секунд без ответа от сервера.
  5. Отображается приглашение оболочки.

Другой тест с использованием SMTP, когда я использую TELNET для доступа к SMTP-интерфейсу сервера в PostFix, после указания допустимого значения для поля «RCPT TO» интерфейс приостанавливается на 10 секунд перед возвратом курсора, чтобы протокол мог продолжить работу, но он отвечает мгновенно, когда одни и те же записи сервера имен закомментированы.

Есть ли где-нибудь еще в файлах конфигурации, возможно, на уровне сети или ядра, где это может быть затронуто? Может ли эта проблема быть вызвана включенным IPV6?

Я понимаю, что это широкий вопрос, когда его задают, поскольку я не могу предоставить слишком много подробностей относительно моей среды, а на самом сервере Linux есть довольно много параметров конфигурации. Если кто-то столкнулся с подобной проблемой, мы будем благодарны за любую помощь или указания по ее устранению.

Иногда устанавливается прослушиватель многоадресной передачи DNS, на ubuntu удалите пакет libnss-mdns. Системная функция также будет использовать его и может создавать задержки для неразрешенных адресов.

Я могу говорить только от имени Postfix.

disable_dns_lookups=yes делегирует поиск в getaddrinfo() системная функция. И это само использует систему DNS для получения информации: http://en.wikipedia.org/wiki/Getaddrinfo

Таким образом, Postfix даже тогда использует DNS-серверы имен, если вы настроили свою систему Linux / UNIX с /etc/resolv.conf и /etc/nsswitch.conf сделать так.

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

Решение состоит в том, чтобы восстановить настройку DNS, чтобы иметь возможность разрешать любой общедоступный Интернет-домен / IP в дополнение к вашим локальным хостам.