VPN을 통해 iPhone에서 인쇄하려면 Bonjour 검색이 터널을 건너야 한다고 아마 들었을 것입니다. 그 믿음은 아무것도 해결하지 못하는 TAP 브리지와 멀티캐스트 릴레이로 사람들을 몰아갑니다. AirPrint는 명시적 대상을 받아들이며, 구성 프로필은 프린터의 주소, 리소스 경로, 포트를 휴대폰에 전달할 수 있습니다. 해당 항목이 인쇄 시트에 나타나기 위해 검색이 일어날 필요는 없습니다. 페이로드가 하지 않는 일은 경로를 만드는 것, AirPrint가 아닌 프린터가 IPP를 말하게 하는 것, 작업을 승인하는 것입니다.

신화는 참된 관찰에서 시작됩니다

Bonjour는 설계상 링크 로컬 멀티캐스트입니다. 라우팅된 지점 간 터널은 그 그룹을 전달하지 않으므로 VPN에 있는 휴대폰은 원격 LAN의 프린터를 탐색할 수 없고, 같은 터널에 있는 노트북도 마찬가지입니다. 올바른 결론은 인쇄에 브리지가 필요하다는 것이 아니라, 탐색에는 다른 전달 메커니즘이 필요하다는 것이며, 명시적 목록이 바로 그 메커니즘입니다.

멀티캐스트 릴레이는 존재하고 일부 네트워크는 이를 잘 운영하지만, 그것은 당신에게 없을 수도 있는 검색 요구를 해결합니다. 배포가 승인된 장치 하나에만 인쇄하면 된다면, 그 장치를 게시하는 것이 더 작고 테스트 가능하며 터널 너머로 브로드캐스트 도메인을 확장하는 것보다 훨씬 쉽게 철회할 수 있습니다.

페이로드가 실제로 담는 것

페이로드 com.apple.airprint는 프린터 사전의 배열을 담습니다. 각 사전은 IPAddress(리터럴 주소 또는 호스트 이름), ResourcePath, 선택적 Port, 선택적 ForceTLS를 받습니다. Apple은 iOS 11부터 Port와 ForceTLS를 문서화하므로 혼합 환경은 배포 전에 이를 명확히 해야 합니다.

경로는 사람들이 추측하는 필드입니다. ResourcePath는 프린터의 _ipps._tcp 또는 _ipp._tcp Bonjour 레코드에 있는 rp 값을 반영합니다. 최신 드라이버 없는 프린터에서는 흔히 ipp/print이고, 오래된 프린터에서는 흔히 제조사별 값입니다. 다른 모델에서 경로를 복사하면 나타났다가 모든 작업을 거부하는 대기열이 생깁니다.

배열의 항목은 다음과 같습니다(자리 표시자 값은 테스트된 엔드포인트가 아닙니다):

<dict>
    <key>ResourcePath</key>
    <string>ipp/print</string>
    <key>IPAddress</key>
    <string>printer-07.office.example</string>
    <key>Port</key>
    <integer>8631</integer>
    <key>ForceTLS</key>
    <true/>
</dict>

그 조각은 프로필이 아닙니다. 페이로드 내부 AirPrint 배열의 한 요소이며, 페이로드에는 여전히 자체 메타데이터와 서명 또는 MDM 배포가 필요합니다. 필드 의미에 대해서는 AirPrint 프린터 사전이 참조입니다.

값은 검색 결과가 아니라 프린터에서 수집하세요

이미 장치로 인쇄하는 Mac에서는 ippfind 또는 dns-sd -B _ipp._tcp가 광고된 인스턴스를 보여 주고, 프린터 자체의 웹 인터페이스는 보통 IPP 경로와 포트를 나열합니다. 네 값을 모두 배포 노트에 기록해 다음 사람이 스크린샷에서 다시 도출하지 않게 하세요.

그다음 TLS를 의도적으로 결정하세요. ForceTLS가 참이면 휴대폰은 프린터가 제시하는 인증서를 신뢰해야 하며, 자체 서명 인증서는 신뢰 앵커도 배포하지 않는 한 실패합니다. 대기열을 작동시키기 위해 TLS를 끄는 것은 네트워크 경로에 대한 결정이지 불편한 인증서의 우회로가 아닙니다.

배포, 그다음 두 가지 반대되는 실패

장치 관리 채널이 있는 곳에서는 그 채널로 페이로드를 배포하고, 업무용 휴대폰에 수동으로 설치한 프로필은 그것이 지닌 예외로 취급하세요. 설치되면 프린터는 검색 트래픽 없이 인쇄 시트에 나타나야 합니다. 그 나타남이 페이로드가 보장해야 했던 유일한 것입니다.

나타나지만 모든 작업에서 실패하는 프린터에는 네트워크 경로, 포트, 경로 또는 TLS 중 하나의 문제가 있으며, 어느 것도 페이로드로 해결되지 않습니다.

결코 나타나지 않는 프린터에는 대신 배포 또는 페이로드 문제가 있습니다: 프로필이 설치되지 않았거나, 배열이 잘못되었거나, 값이 장치와 일치하지 않습니다. VPN을 건드리기 전에 값과 대상 장치를 다시 읽으세요. 목록 문제를 고치려고 검색 릴레이를 추가하는 것은 목록이 처음부터 검색에 의존하지 않았으므로 값비싼 실수입니다.

항목을 유지 관리 가능하게 유지하세요

영역을 제어하는 곳에서는 주소 변경으로 설치된 모든 프로필이 무효화되지 않도록 리터럴 주소보다 호스트 이름을 선호하세요. 그 호스트 이름은 터널이 올라와 있는 동안 휴대폰에서 확인되어야 하며, 이는 인쇄가 아니라 분할 DNS 대화로 되돌아갑니다.

프린터 소유자와 프로필 소유자를 배포 기록에 적으세요. 대기열이 이동하면 오래된 항목이 스스로 만료되지 않고 사용자를 폐기된 장치로 계속 안내하므로 게시된 대상을 의도적으로 업데이트하세요.

이 중 어느 것도 프린터를 AirPrint 지원으로 만들지 않습니다. 페이로드는 대상을 게시하고, 장치는 여전히 IPP를 말해야 합니다.

관련 글