
Я пытаюсь создать записи DNS, чтобы компьютеры Mac в нашей сети могли автоматически определять доступные принтеры через dns-sd (широковещательная рассылка сама по себе невозможна из-за нашей среды WAN)
Если я вручную «добавлю» очередь CUPS IPP через «IP->cups.server.name->/printers/queueName», то все будет работать нормально, но если я добавлю соответствующие записи PTR/SRV DNS, то все будет работать не так.
Сниффер показывает, что Mac выполняет поиск _dns-sd._udp.XXXX, находит сервер cups, выполняет поиск TXT для получения сведений об очереди, все в порядке. Но когда я печатаю в эту новую очередь, сниффер показывает, что он подключается к IPP-серверу cups как "POST / HTTP" вместо "POST /printers/queueName" - и, конечно, cups отвечает "Принтер или класс не найден". Затем задание печати останавливается на Mac
«rp=printers/queueName» (без начального «/») определенно есть в записи TXT, но похоже, что Mac просто игнорирует ее???
;; РАЗДЕЛ ОТВЕТА: queueName._ipp._tcp.our.domain. 1800 В TXT "\"txtvers=1\" \"qtotl=1\" \"URF=none\" \"product=(Универсальный принтер PostScript)\" \"ty=Универсальный принтер PostScript\" \"note=Jason Test\" \"transparent=t\" \"copies=t\" \"duplex=t\" \"color=t\" \"pdl=application/postscript\" \"rp=printers/queueName\""
Есть идеи, что я упустил?
решение1
Я могу ответить на свой собственный вопрос
Проблема в том, что мы используем Microsoft DNS, и нужно быть осторожным при создании записей dns-sd TXT. Обычно они сообщаются в следующем формате
1800 IN TXT "txtvers=1" "qtotl=1" "URF=none" "product=(Универсальный принтер PostScript)" "ty=Универсальный принтер PostScript" "note=Jason Test" "transparent=t " "copies=t " "duplex=t " "color=t " "pdl=application/postscript " "rp=printers/queueName"
...но если вы посмотрите на мой вопрос выше, то увидите, что они были полны символов "\"", что испортило Mac (на самом деле, вероятно, любой клиент)
Хитрость заключается в том, чтобы при использовании графического интерфейса Microsoft DNS вводить эти многофразовые TXT-записи без кавычек и нажимать Enter между битами, т.е.
txtvers=1
qtotl=1
product=(Generic PostScript Printer)
URF=none
Как только я изменил наши записи, Маки с радостью поглотили метаданные, даже не запросили у меня драйвер печати и успешно распечатали. :-)