Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

DNS_CACHE_FULL Сетевое оборудование и VPN

MikroTik Log: dns,error cache full, dropping oldest DNS records — Решение

Обновлено: 24.08.2026 · Официальная документация ↗

Переполнение встроенного DNS кэша MikroTik и деградация производительности сетевых запросов:

  • dns,error cache full, dropping oldest DNS records
  • dns,warning maximum cache size reached: <size> KiB
  • Всплеск задержек при открытии новых доменных имен клиентами.
  • Повышенная утилизация оперативной памяти (RAM) процессом DNS.

1. Анализ текущего состояния и размера DNS кэша

Проверьте текущие настройки размера кэша и количество активных записей:

/ip dns print
/ip dns cache print count-only

2. Увеличение объема оперативной памяти под DNS кэш

По умолчанию в базовой конфигурации выделяется небольшой размер кэша (2048 KiB). Для сетей с большим количеством пользователей увеличьте размер до 10–50 МБ (в зависимости от свободной RAM устройства):

/ip dns set cache-size=20480KiB cache-max-ttl=1d

3. Очистка поврежденного или переполненного кэша

Сбросьте накопленные устаревшие записи:

/ip dns cache flush

4. Проверка на аномальное количество уникальных запросов (DNS Flood)

Если кэш переполняется за секунды после очистки, возможно один из хостов в локальной сети заражен ботнетом и генерирует миллионы случайных доменов (Random Subdomain Attack / PRSD):

/ip dns cache print where type ~ "A|AAAA"

Ограничьте частоту запросов DNS для клиентов через Firewall Connection Limit / Raw:

/ip firewall raw add chain=prerouting in-interface-list=LAN protocol=udp dst-port=53 connection-limit=50,32 action=drop comment="Rate-limit DNS Flood"
💡 Практика специалистов: Если маршрутизатор используется в крупной корпоративной сети (более 300 пользователей), не используйте MikroTik в качестве основного DNS-резолвера — разверните выделенные кэширующие кластеры на базе Unbound, AdGuard Home, Pi-hole или BIND9.

Частые вопросы (FAQ)

К чему приводит постоянный сброс записей при cache full?

При переполнении кэша маршрутизатор принудительно удаляет старые записи (LRU алгоритм) до истечения их TTL, из-за чего клиенты вынуждены повторно запрашивать Upstream DNS, увеличивая внешний трафик и задержки.

Сколько памяти безопасно выделять под DNS кэш?

Не выделяйте более 10-15% от общего объема свободной оперативной памяти (/system resource print), чтобы избежать падения сервисов ядра из-за нехватки RAM.

Что такое параметр cache-max-ttl в MikroTik DNS?

Параметр cache-max-ttl ограничивает максимальное время жизни записи в локальном кэше независимо от того, какое значение TTL было передано авторитативным DNS-сервером зоны.

Как посмотреть конкретные домены, находящиеся в кэше?

Выполните команду: /ip dns cache print detail.

Полезные материалы
Рекомендуем