Google DNS и мой сервер Linux
Прошлой ночью у нас были серьезные серверные события. Сначала оказалось, что наша проблема была с Google (8.8.8.8). Мы будем запускать ping и в какой-то момент у нас будет потеря пакетов. Примерно в то же время наши системы будут выдавать исключение getaddr() DNS.
По отдельности; это странно для меня, потому что мне приходилось время от времени очищать локальный кэш DNS, когда мои записи DNS меняются у моего провайдера...
Разве мои приложения и серверы, которые работают с теми же 5 удаленными поставщиками услуг, не кэшировали DNS? Почему я получаю ошибки DNS вместо сетевых ошибок?
2 ответа
Если вы теряете пакеты при пинге DNS-сервера, вполне нормально, что периодически возникают сбои при запросе DNS-сервера разрешить имена для вас.
Трудно диагностировать явное отсутствие кеширования, не зная, что такое TTL в рассматриваемых записях - возможно, для удаленного хоста (ов) установлено значение TTL с очень коротким временем жизни, потому что они ожидают замены компьютеров или пытаются сделать аварийное переключение на основе DNS.
Я не ожидал бы, что ваше локальное приложение будет кэшировать информацию DNS, по крайней мере, в течение какого-то серьезного периода времени. ИМХО, это будет ошибка, а не фича.
Если ваш локальный кеширующий DNS-сервер, похоже, не кэшируется, я бы изучил TTL для записей, которые вы хотите кэшировать, и убедился, что машины, сообщающие об ошибках, настроены на использование только вашего кеширующего сервера для разрешения имен.
Ваши серверы будут кешировать только записи DNS, если вы используете nscd.