DNS замедляет работу других вещей

DNS замедляет работу других вещей

Я настроил локальный DNS-сервер (потому что маршрутизатор нашего интернет-провайдера не поддерживает локальный DNS) и настроил его на разрешение статических IP-адресов и пересылку других запросов на маршрутизатор интернет-провайдера. Таким образом, DNS работает нормально, но теперь другим клиентам, которые пытаются подключиться к другим службам на сервере, требуется много времени для подключения. Например, sshd и apt-cacher работают очень медленно. В то время как ssh работает отлично и быстро на других серверах. Поэтому, похоже, сервер слишком медленный для запуска такого количества служб.

Итак, последний вопрос, который возникает из этого: как мне узнать, что именно так сильно замедляет работу?

Сервер работает на Debian jessie. DNS-сервер — bind9.

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

Dec 28 18:36:18 cache named[3878]: DNS format error from 192.168.2.1#53 resolving www.arcor-online.net/A for client 192.168.2.3#48110: reply has no answer
Dec 28 18:36:18 cache named[3878]: error (FORMERR) resolving 'www.arcor-online.net/A/IN': 192.168.2.1#53

решение1

Я не уверен, что вы имеете в виду под "сервером маршрутизатора провайдера" здесь. Маршрутизаторы обычно не являются DNS-серверами.

Однако вы можете попробовать ssh -vпосмотреть, где задержка: на удаленном конце или на конце вашего клиента. Также проверьте журнал BIND 9, чтобы увидеть, сообщает ли он о каких-либо проблемах.

За исключением этого и проверки того, правильно ли решены проблемы с помощью команды, например, dig @127.0.0.1 flame.org. SOAчтобы убедиться, что ваш локальный DNS работает для имен, для которых вы не являетесь уполномоченным, без просмотра конфигураций, сетевых трассировок или журналов отладки, я больше ничем помочь не могу.

решение2

Проблема была совсем не такой, как я ожидал. Настраивая bind9 и беспокоясь о том, как структурировать сеть вокруг сервера, я изменил IP-адрес сервера и забыл изменить сервер имен в /etc/resolv.conf. Это означает, что сервер пытался связаться с пустым IP-адресом и остановился, пока не истекло время ожидания запроса.

решение3

Может быть полезно посмотреть на использование процессора, памяти и хранилища системы.

Полезной командой для начала может быть:

ps auxf | sort -nr -k 3 | head -10

Также вы можете использовать инструменты, чтобы увидеть, находятся ли процессы в состоянии ожидания на медленном или перегруженном хранилище, например:

vmstat 3

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

Как всегда, убедитесь, что вы используете последние обновления Debian, чтобы быть уверенным, что на вас не повлияют ошибки или уязвимости безопасности.

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