Сети

APIPA у принтера Canon TM‑350 после DHCP‑резервирования

Проблема с APIPA‑адресом у одного из двух Canon TM‑350 после создания DHCP‑резервирования. Причины ошибки 20319/9005 и решения по DNS‑обратному поиску.

В сети 172.16.0.0/20 DHCP‑сервер выделяет диапазон 172.16.0.1‑172.16.2.254 для аренды, но в пределах него исключены адреса 172.16.0.1‑172.16.0.32 (серверы) и 172.16.1.1‑172.16.1.127 (сетевые принтеры).

Сегодня к сети подключились два новых принтера Canon TM‑350, которые получили по DHCP адреса 172.16.0.141 и 172.16.0.159. Я удалил их выделения, создал для каждого MAC‑адреса резервирование в диапазоне 172.16.1.61‑172.16.1.62 и переподключил принтеры.

После этого один принтер успешно привязывается к резервированному адресу: в списке арендованных адресов тип меняется с DHCP на «Резервирование (активное)» и срок аренды обновляется. Второй принтер, однако, получает адрес по DHCP, но через несколько секунд начинает новый поиск, присваивает себе APIPA‑адрес, а в списке арендованных адресов тип остаётся «Резервирование (не активное)».

В журнале DHCP‑сервера появляется ошибка 20319: «Регистрация записи прямой связи для IPv4‑адреса 172.16.1.62 и FQDN TM‑350ipffc28b.xxxx.yyyy.zzzz завершилась с ошибкой 9005 (Операция DNS отвергнута.)». По данным MS Learn, это связано с отсутствием зоны обратного поиска для записи PTR. Однако в DNS нет проблем: обратные записи создаются для всех устройств, кроме проблемного принтера.

Почему один из двух идентичных принтеров, подключенных к той же сети и имеющих одинаковые настройки, после создания DHCP‑резервирования получает APIPA‑адрес и не регистрируется в DNS, в то время как второй принтер работает корректно? Какие возможные причины и решения могут объяснить такое поведение?

Столкнулся с тем, что один из двух одинаковых принтеров получает APIPA‑адрес после создания DHCP‑резервирования, в то время как второй работает как надо.
Ниже разберём, почему это может происходить и какие шаги помогут исправить ситуацию.

Содержание


Почему APIPA‑адрес появляется после DHCP‑резервирования?

APIPA (Automatic Private IP Addressing) – это механизм, который активируется, когда клиент не получает IP‑адрес от DHCP‑сервера в течение 5 сек.
Если DHCP‑сервер отбрасывает запрос (например, из‑за отказа в обновлении DNS, конфликтов в таблице ARP, ошибки в резервировании и т.д.), клиент быстро переходит в режим APIPA и выдаёт себе адрес в диапазоне 169.254.x.x.

В вашем случае принтер получил IP 172.16.0.141/159, прежде чем DHCP‑сервер выдал ему резервированный адрес 172.16.1.61‑62. Это означает, что DHCP‑сервер не смог завершить процесс lease‑ACK для этой машины.
Причины, по которым это может произойти:

Причина Что происходит Как проявляется Как проверить
Неверный MAC‑адрес в резервировании DHCP‑сервер не находит привязку к MAC‑у Запросы «выпрашиваются» в диапазон 172.16.0.0/20, но не попадают в резерв В DHCP‑логе: DHCPREQUEST без DHCPACK
Дублирующийся IP Другой клиент уже использует IP 172.16.1.62 DHCP‑сервер отбрасывает запрос, клиент переходит в APIPA ARP‑таблица роутера/сервера
Недостаточные права на DNS‑обновление DHCP‑сервер пытается обновить запись, но получает отказ Ошибка 20319/9005, клиент не получает подтверждение Event ID 20319 в Windows DNS
Сетевой «плохой» сегмент Перекрытие VLAN/подсети, физический сбой DHCP‑ACK не доходит до клиента Проверка физического соединения, VLAN‑теги
Программная ошибка принтера Принтер не обрабатывает DHCP‑ACK (отказ в обновлении DNS) Переходит в APIPA Firmware‑обновление

Ошибка 20319 / DNS‑опция 9005: причины и последствия

Ошибка 20319 – это запись в логах DHCP‑сервера о неудачной попытке обновить DNS‑запись. В вашем случае сообщение:

«Регистрация записи прямой связи для IPv4‑адреса 172.16.1.62 и FQDN TM‑350ipffc28b.xxxx.yyyy.zzzz завершилась с ошибкой 9005 (Операция DNS отвергнута.)»

Ошибка 9005 означает, что DNS‑сервер отказал в динамическом обновлении. Возможные причины:

  1. DNS‑зона не разрешает динамические обновления – в свойствах зоны отключено «Разрешить динамическое обновление» или включено только «Разрешить обновления только от авторизованных клиентов».
  2. Учетная запись DHCP‑сервера не входит в группу DNS‑админов – требуется добавить сервис‑аккаунт в группу DnsAdmins или назначить права на обновление конкретной зоны.
  3. Отсутствует обратная зона для IP‑адреса – если в зоне обратного поиска нет записи, DNS может отказать в обновлении PTR (хотя в большинстве случаев он просто создаёт её).
  4. Проблемы с разрешением FQDN – если FQDN не соответствует правилам зоны, DNS отказает в обновлении.

По данным Microsoft Learn, ошибка 20319/9005 связана с отсутствием зоны обратного поиска для записи PTR.
(Источник: Microsoft Q&A – Issues with DHCP DNS updates)


Возможные причины «неактивного» резервирования

  1. Неверный MAC‑адрес

    • При настройке резервирования в DHCP‑сервере может быть опечатка в MAC‑адресе одного из принтеров.
    • Если MAC неверен, сервер выдаёт случайный IP, и принтер «забывает» о резервном.
  2. Дублирующийся MAC‑адрес

    • Если в сети уже есть устройство с тем же MAC‑адресом, DHCP‑сервер может отдать другой IP.
    • Проверьте ARP‑таблицу или arp -a.
  3. Проблема с ARP‑кешем

    • Старый ARP‑запись может мешать принтеру «видеть» DHCP‑сервер.
    • Очистка ARP‑кеша на маршрутизаторе/сервере может помочь.
  4. Проблема с обновлением DNS

    • Если DHCP‑сервер не может обновить DNS‑запись, клиент может считать резерв недействительным и перейти в APIPA.
    • В Windows DHCP‑сервер отправляет запрос на обновление DNS и ждёт подтверждения. Если подтверждения нет, он отбрасывает lease.
  5. Проблемы в сетевой инфраструктуре

    • VLAN‑теги, ACL‑ы, QoS или фильтры, которые блокируют DHCP‑ACK для конкретного MAC‑адреса.
    • Некоторые коммутаторы реализуют «port security» и могут блокировать новые MAC‑адреса.
  6. Баг в прошивке принтера

    • Некоторые модели Canon TM‑350 могут некорректно обрабатывать DHCP‑ACK, если в FQDN встречается определённый паттерн (например, ipffc28b).
    • В таком случае принтер может «вернуть» APIPA, даже если сервер его обслужил.

Решения и рекомендации

Шаг Что сделать Как проверить
1 Убедиться, что MAC‑адреса в резервировании совпадают с реальными ipconfig /all на принтере + arp -a на сервере
2 Проверить, нет ли конфликтов IP в таблице ARP arp -a + ipconfig /release && ipconfig /renew
3 Открыть свойства DHCP‑зоны и включить «Разрешить динамическое обновление» либо добавить сервис‑аккаунт в DnsAdmins gpedit.msc → DNS Server → Dynamic updates
4 Убедиться, что обратная зона (PTR) существует для подсети 172.16.1.0/24 nslookup -type=ptr 172.16.1.62
5 Проверить, что принтер получает FQDN, соответствующий зоне DNS ipconfig /allHost Name + Primary DNS suffix
6 Временно отключить APIPA на принтере (если есть опция) В меню принтера → «Network Settings» → «Disable APIPA»
7 Перезапустить DHCP‑сервер и принтер net stop dhcp && net start dhcp + reset /s на принтере
8 Обновить прошивку принтера до последней версии Сайт производителя → Firmware
9 Если проблема остаётся, задать принтеру статический IP и проверить DNS‑регистрацию вручную ipconfig /static 172.16.1.61 + nslookup
10 Если принтер использует Wi‑Fi, убедиться, что Wi‑Fi‑канал не конфликтует с DHCP Проверить SSID, канал, QoS

Как проверить и отладить проблему

  1. Проверка DHCP‑лога

    • Откройте журнал DHCP‑серверов (Event Viewer → Applications and Services Logs → Microsoft → Windows → DHCP‑Server → Operational).
    • Найдите DHCPREQUEST и DHCPACK для MAC‑адреса проблемного принтера.
    • Если DHCPACK отсутствует, значит сервер отказался или не смог отправить ACK.
  2. Проверка DNS‑лога

    • В журнале DNS‑серверов (Event Viewer → Applications and Services Logs → Microsoft → Windows → DNS‑Server → Operational) ищите события 20319/9005.
    • Если событие появляется только для одного принтера, значит у него проблемы с обновлением DNS.
  3. Проверка обратного поиска

    • Выполните nslookup -type=ptr 172.16.1.62.
    • Если ответ NXDOMAIN, обратная зона отсутствует.
    • Добавьте запись PTR вручную и проверьте, исчезнет ли ошибка.
  4. Проверка сетевого соединения

    • ping 172.16.1.62 с сервера и с другого ПК.
    • tracert 172.16.1.62 – убедитесь, что маршрут проходит без блокировок.
  5. Проверка MAC‑адресов

    • На принтере: ipconfig /allPhysical Address.
    • На сервере: arp -a – найдите запись для IP, который должен получить принтер.
  6. Проверка обновления DNS

    • На сервере выполните nslookup -type=aaaa TM‑350ipffc28b.xxxx.yyyy.zzzz.
    • Убедитесь, что A‑запись существует и указывает на 172.16.1.62.

Выводы

  • APIPA появляется, когда DHCP‑сервер не может завершить процесс выдачи IP‑адреса. Это обычно связано с ошибкой в резервировании, конфликтом MAC/IP, либо проблемой с динамическим обновлением DNS.
  • Ошибка 20319/9005 указывает, что DNS‑сервер отказал в динамическом обновлении. В большинстве случаев это связано с отсутствием обратной зоны или с тем, что сервис‑аккаунт DHCP‑сервера не имеет прав на обновление.
  • Один из принтеров «работает», потому что у него корректно настроено резервирование, его MAC‑адрес совпадает с записью, и DHCP‑сервер может успешно обновить DNS.
  • Второй принтер получает APIPA, потому что один из вышеуказанных факторов препятствует успешной выдаче IP и обновлению DNS.
  • Рекомендовано:
    1. Проверить и подтвердить MAC‑адреса в резервировании.
    2. Убедиться, что DHCP‑сервер имеет права на обновление DNS и что обратные зоны существуют.
    3. Отключить APIPA на принтерах (если опция доступна) и/или задать им статический IP.
    4. Обновить прошивку принтера, если проблема повторяется.

Выполнив эти шаги, вы устраните APIPA‑адрес и обеспечите корректную работу обоих принтеров.

Авторы
Проверено модерацией
Модерация