Mac에서 CUPS 인쇄 대기열에 대해 dns-sd를 수행하도록 할 수 없습니다.

Mac에서 CUPS 인쇄 대기열에 대해 dns-sd를 수행하도록 할 수 없습니다.

우리 네트워크의 Mac이 dns-sd를 통해 사용 가능한 프린터를 자동 감지할 수 있도록 DNS 레코드를 생성하려고 합니다(WAN 환경으로 인해 브로드캐스트만으로는 옵션이 아닙니다).

"IP->cups.server.name->/printers/queueName"을 통해 CUPS IPP 대기열을 수동으로 "추가"하면 모두 잘 작동하지만 적절한 PTR/SRV DNS 레코드를 추가하면 그렇지 않습니다.

스니퍼는 Mac이 _dns-sd._udp.XXXX 조회를 수행하고, 컵 서버를 찾고, TXT 조회를 수행하여 대기열 세부 정보를 모두 제대로 가져오는 것을 보여줍니다. 하지만 이 새 대기열로 인쇄하면 스니퍼는 "POST /printers/queueName" 대신 "POST / HTTP"로 cup IPP 서버에 연결한다고 표시합니다. 물론 cup은 "프린터 또는 클래스를 찾을 수 없습니다"라고 응답합니다. . 그러면 인쇄 작업이 Mac에서 일시 중지됩니다.

"rp=printers/queueName"("/"로 시작하지 않음)은 확실히 TXT 레코드에 있지만 Mac이 이를 무시하는 것 같습니다???

;; 답변 섹션: queueName._ipp._tcp.our.domain. 1800 IN TXT "\"txtvers=1\" \"qtotl=1\" \"URF=없음\" \"product=(일반 포스트스크립트 프린터)\" \"ty=일반 포스트스크립트 프린터\" \"note=Jason 테스트\" \"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=없음" "product=(일반 포스트스크립트 프린터)" "ty=일반 포스트스크립트 프린터" "note=Jason 테스트" "transparent=t " "copies=t " "duplex=t " "color=t " "pdl=application/postscript " "rp=프린터/queueName"

...하지만 위의 질문을 보면 "\"" 문자로 가득 차 있다는 것을 알 수 있습니다. 이는 Mac을 망쳤습니다(실제로는 모든 클라이언트에서).

비결은 Microsoft DNS GUI를 사용할 때 따옴표 없이 이러한 다중 문구 TXT 레코드를 입력하고 비트 사이에서 Enter 키를 누르는 것입니다. 즉

    txtvers=1
    qtotl=1
    product=(Generic PostScript Printer)
    URF=none

내가 기록을 변경하자 Mac은 기꺼이 메타데이터를 집어삼켰고 심지어 인쇄 드라이버를 요구하지도 않았으며 성공적으로 인쇄했습니다. :-)

관련 정보