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‑резервирования?
- Ошибка 20319 / DNS‑опция 9005: причины и последствия
- Возможные причины «неактивного» резервирования
- Решения и рекомендации
- Как проверить и отладить проблему
- Выводы
Почему 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‑сервер отказал в динамическом обновлении. Возможные причины:
- DNS‑зона не разрешает динамические обновления – в свойствах зоны отключено «Разрешить динамическое обновление» или включено только «Разрешить обновления только от авторизованных клиентов».
- Учетная запись DHCP‑сервера не входит в группу DNS‑админов – требуется добавить сервис‑аккаунт в группу
DnsAdminsили назначить права на обновление конкретной зоны. - Отсутствует обратная зона для IP‑адреса – если в зоне обратного поиска нет записи, DNS может отказать в обновлении PTR (хотя в большинстве случаев он просто создаёт её).
- Проблемы с разрешением FQDN – если FQDN не соответствует правилам зоны, DNS отказает в обновлении.
По данным Microsoft Learn, ошибка 20319/9005 связана с отсутствием зоны обратного поиска для записи PTR.
(Источник: Microsoft Q&A – Issues with DHCP DNS updates)
Возможные причины «неактивного» резервирования
-
Неверный MAC‑адрес
- При настройке резервирования в DHCP‑сервере может быть опечатка в MAC‑адресе одного из принтеров.
- Если MAC неверен, сервер выдаёт случайный IP, и принтер «забывает» о резервном.
-
Дублирующийся MAC‑адрес
- Если в сети уже есть устройство с тем же MAC‑адресом, DHCP‑сервер может отдать другой IP.
- Проверьте ARP‑таблицу или
arp -a.
-
Проблема с ARP‑кешем
- Старый ARP‑запись может мешать принтеру «видеть» DHCP‑сервер.
- Очистка ARP‑кеша на маршрутизаторе/сервере может помочь.
-
Проблема с обновлением DNS
- Если DHCP‑сервер не может обновить DNS‑запись, клиент может считать резерв недействительным и перейти в APIPA.
- В Windows DHCP‑сервер отправляет запрос на обновление DNS и ждёт подтверждения. Если подтверждения нет, он отбрасывает lease.
-
Проблемы в сетевой инфраструктуре
- VLAN‑теги, ACL‑ы, QoS или фильтры, которые блокируют DHCP‑ACK для конкретного MAC‑адреса.
- Некоторые коммутаторы реализуют «port security» и могут блокировать новые MAC‑адреса.
-
Баг в прошивке принтера
- Некоторые модели Canon TM‑350 могут некорректно обрабатывать DHCP‑ACK, если в FQDN встречается определённый паттерн (например,
ipffc28b). - В таком случае принтер может «вернуть» APIPA, даже если сервер его обслужил.
- Некоторые модели Canon TM‑350 могут некорректно обрабатывать DHCP‑ACK, если в FQDN встречается определённый паттерн (например,
Решения и рекомендации
| Шаг | Что сделать | Как проверить |
|---|---|---|
| 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 /all → Host 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 |
Как проверить и отладить проблему
-
Проверка DHCP‑лога
- Откройте журнал DHCP‑серверов (
Event Viewer → Applications and Services Logs → Microsoft → Windows → DHCP‑Server → Operational). - Найдите
DHCPREQUESTиDHCPACKдля MAC‑адреса проблемного принтера. - Если
DHCPACKотсутствует, значит сервер отказался или не смог отправить ACK.
- Откройте журнал DHCP‑серверов (
-
Проверка DNS‑лога
- В журнале DNS‑серверов (
Event Viewer → Applications and Services Logs → Microsoft → Windows → DNS‑Server → Operational) ищите события 20319/9005. - Если событие появляется только для одного принтера, значит у него проблемы с обновлением DNS.
- В журнале DNS‑серверов (
-
Проверка обратного поиска
- Выполните
nslookup -type=ptr 172.16.1.62. - Если ответ
NXDOMAIN, обратная зона отсутствует. - Добавьте запись PTR вручную и проверьте, исчезнет ли ошибка.
- Выполните
-
Проверка сетевого соединения
ping 172.16.1.62с сервера и с другого ПК.tracert 172.16.1.62– убедитесь, что маршрут проходит без блокировок.
-
Проверка MAC‑адресов
- На принтере:
ipconfig /all→Physical Address. - На сервере:
arp -a– найдите запись для IP, который должен получить принтер.
- На принтере:
-
Проверка обновления 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.
- Рекомендовано:
- Проверить и подтвердить MAC‑адреса в резервировании.
- Убедиться, что DHCP‑сервер имеет права на обновление DNS и что обратные зоны существуют.
- Отключить APIPA на принтерах (если опция доступна) и/или задать им статический IP.
- Обновить прошивку принтера, если проблема повторяется.
Выполнив эти шаги, вы устраните APIPA‑адрес и обеспечите корректную работу обоих принтеров.