Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • Changelogs
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    RouterOS
    Статические CNAME приводят к утечке памяти в кэше DNS.

    Статические CNAME приводят к утечке памяти в кэше DNS.

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Статические CNAME приводят к утечке памяти в кэше DNS., RouterOS
     
    mktheta
    Guest
    #1
    0
    10.04.2025 04:26:00
    Недавно я развернул RB5009UG+S+IN в роли основного шлюза и локального DNS-сервера. В течение примерно трёх месяцев после запуска он начал «течь» по памяти — в итоге использование памяти достигало примерно 95%, после чего роутер перезагружался. И происходило это довольно быстро — в последний раз цикл от запуска (с примерно 15% загрузки) до перезагрузки занял чуть меньше 6 дней. Я с самого начала мониторил использование памяти через SNMP и мог в реальном времени наблюдать, как она постепенно росла. Иногда рост приостанавливался на час-два, но в остальное время это был стабильный подъём. Интересно, что скорость расхода памяти несколько раз резко увеличивалась, совпадая с изменениями в рабочей конфигурации — позже вернусь к этому.

    В итоге один из коллег наткнулся на supout.rif, и я создал его как раз в момент максимального использования памяти — они его проанализировали. Из этого мы узнали, что процесс resolver (который мы предполагали локальным DNS-сервером) выделил себе 843 МБ памяти! Иными словами, он сам по себе использовал более 80% от 1 ГБ памяти RB5009!

    P.S. Забыл упомянуть, что я увеличил размер кэша DNS, чтобы уместить настроенный adlist. Однако увеличил лишь до примерно 20 МБ, так что общий вывод это не меняет.

    Раньше я временно отключал функцию DNS adlist, думая, что она может вызвать проблему. Но это ничего не дало, и я углубился в исследование. В ходе поиска наткнулся на такие темы: DNS cache and memory usage, without adlist; Log flooded with cache full, not storing (dns); DNS Cache Full/adlist read: max cache size reached cache full, not storing since 7.14. Кажется, все они связаны между собой, но первая и вторая темы наиболее похожи на мою проблему — особенно вторая, где описывается перезагрузка роутера из-за нехватки памяти, чего я не встречал в других ветках.

    Я видел, что несколько пользователей решили проблему заполненного кэша DNS, заменив статические CNAME на A-записи, так что сделал то же самое — конвертировал все CNAME на своём роутере в A-записи. После этого рост использования памяти сразу прекратился. Но снижение памяти произошло только после перезагрузки роутера через несколько дней. С тех пор использование памяти стабильно держится на уровне около 15%.

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

    P.S. 2: Относительно версий RouterOS: когда я впервые заметил утечку, роутер работал на v7.14.3, а к моменту решения проблемы — на v7.17.2. Сейчас я обновился до v7.18.2 — после этого с CNAME я пока не экспериментировал, но в списке изменений ничего, что касалось бы исправлений в DNS resolver, не указано, так что думаю, проблема осталась.

    По моим ощущениям, это довольно серьёзное доказательство того, что RouterOS неправильно обрабатывает статические CNAME-записи. Но у меня есть ещё один нюанс: у меня есть RB4011 на другом объекте, который несмотря на несколько статических CNAME, не показывает проблем с утечкой памяти. Однако теперь я понимаю, что CNAME на RB4011 настроены на редко запрашиваемые имена (а может, их вообще не запрашивают), тогда как CNAME на RB5009 запрашивались очень часто.
     
     
     
    netflow
    Guest
    #2
    0
    08.05.2025 14:08:00
    У меня похожая проблема на RB750Gr с RouterOS 7.18.2, хотя я не смог точно выяснить, связана ли она именно с CNAME-записями. Я пробовал следующее, но ничего не помогло:

    - уменьшать TTL кеша  
    - сначала уменьшать, а потом увеличивать размер кеша  

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

    Поскольку у меня есть опыт в разработке ПО, я подозреваю, что условие, по которому определяется «полный кеш», отличается в механизме предупреждений и в логике освобождения записей LIFO.
     
     
     
    gtj0
    Guest
    #3
    0
    20.05.2025 12:49:00
    Только что наткнулся на этот пост. У меня с декабря открыт запрос в поддержку по проблеме с кэшем DNS, и единственная рекомендация — просто «попробуйте последнюю версию». Можно было бы подумать, что кто-то из поддержки заглядывает в форумы и смог бы предложить обход с помощью CNAME в ответе на запрос, но нет.
     
     
     
    erlinden
    Guest
    #4
    0
    20.05.2025 13:32:00
    Уверен, что AdList не включён (пока размер кэша не увеличен)? https://help.mikrotik.com/docs/spaces/ROS/pages/37748767/DNS#DNS-adlistAdlist
     
     
     
    mktheta
    Guest
    #5
    0
    29.05.2025 05:40:00
    Adlist включен, но я увеличил размер кеша DNS, чтобы компенсировать:  
    [ADMIN@MIKROTIK] > /ip/dns/adlist/print
    Флаги: X - отключено  
    0   url="https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts" ssl-verify=no match-count=261542 name-count=184950  
    [ADMIN@MIKROTIK] > :put [/ip/dns/get cache-size]
    20480  
    [ADMIN@MIKROTIK] > :put [/ip/dns/get cache-used]
    14071  

    К тому же обновление: после удаления всех CNAME мой роутер уже несколько недель стабильно работает с постоянным использованием памяти. До исправления он не выдерживал больше двух недель без перезагрузки из-за нехватки памяти, а к тому времени, когда я наконец выяснил проблему, он вообще не протягивал и неделю!
     
     
     
    gtj0
    Guest
    #6
    0
    11.06.2025 19:45:00
    Наконец-то получил ответ по обращению в поддержку, которое отправил ещё в декабре… Проблему воспроизвели, ждём исправления в будущих версиях RouterOS. К слову.
     
     
     
    theblop
    Guest
    #7
    0
    16.07.2025 13:05:00
    Могу подтвердить, что у меня тоже возникла утечка памяти в кеше разрешителя DNS при использовании CNAMES на самой последней стабильной прошивке (7.19.3). ДОПОЛНЕНИЕ: Также подтверждаю, что TXT и MX записи тоже вызывают утечку памяти в кеше DNS.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры