Du har förmodligen fått höra att utskrift från en iPhone över ett VPN kräver att Bonjour-upptäckt korsar tunneln. Den övertygelsen driver människor mot TAP-bryggor och multicast-reläer som inte åtgärdar något. AirPrint accepterar en uttrycklig destination: en konfigurationsprofil kan ge telefonen en skrivares adress, resurssökväg och port. Upptäckt behöver aldrig ske för att den posten ska visas i utskriftsarket. Det nyttolasten inte gör är att skapa rutten, få en skrivare som inte är AirPrint att tala IPP eller auktorisera jobbet.

Myten börjar med en sann observation

Bonjour är link-local multicast av design. En routad punkt-till-punkt-tunnel transporterar inte dessa grupper, så en telefon på ett VPN kan inte bläddra bland skrivare på det avlägsna LAN:et, och en bärbar dator på samma tunnel kan inte heller. Den korrekta slutsatsen är inte att utskrift behöver en brygga; den är att bläddring behöver en annan leveransmekanism, och en uttrycklig lista är den mekanismen.

Multicast-reläer finns och vissa nätverk driver dem väl, men de löser ett upptäcktskrav som du kanske inte har. Om driftsättningen bara behöver skriva ut till en godkänd enhet är publiceringen av den enheten mindre, testbar och mycket lättare att dra tillbaka än att utöka en broadcast-domän över en tunnel.

Vad nyttolasten faktiskt innehåller

Nyttolasten com.apple.airprint innehåller en matris med skrivarordböcker. Varje ordbok tar en IPAddress, som kan vara en litteral adress eller ett värdnamn, en ResourcePath, en valfri Port och en valfri ForceTLS. Apple dokumenterar Port och ForceTLS från iOS 11 och framåt, så en blandad flotta måste ha det klarlagt före utrullning.

Sökvägen är fältet folk gissar på. ResourcePath speglar rp-värdet i skrivarens Bonjour-post _ipps._tcp eller _ipp._tcp. Den är ofta ipp/print på moderna skrivare utan drivrutiner och ofta leverantörsspecifik på äldre. Att kopiera en sökväg från en annan modell ger en kö som dyker upp och sedan avvisar varje jobb.

Ett element i matrisen ser ut så här, med platshållarvärden som inte är en testad slutpunkt:

<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>

Det fragmentet är inte en profil. Det är ett element i AirPrint-matrisen inne i en nyttolast, och nyttolasten behöver fortfarande sina egna metadata plus signering eller MDM-leverans. AirPrint-skrivarordboken är referensen för fältens betydelser.

Samla värdena från skrivaren, inte från ett sökresultat

På en Mac som redan skriver ut till enheten visar ippfind eller dns-sd -B _ipp._tcp den annonserade instansen, och skrivarens eget webbgränssnitt listar vanligtvis IPP-sökvägen och porten. Skriv ned alla fyra värdena i driftsättningsanteckningen så att nästa person inte behöver härleda dem igen från en skärmbild.

Bestäm dig sedan medvetet om TLS. Med ForceTLS sant måste telefonen lita på certifikatet som skrivaren presenterar, och ett självsignerat certifikat misslyckas om du inte också distribuerar förtroendeankaret. Att stänga av TLS för att få en kö att fungera är ett beslut om nätverksrutten, inte en genväg för ett obekvämt certifikat.

Leverans, sedan två motsatta fel

Leverera nyttolasten via din enhetshanteringskanal där en sådan finns, och behandla en manuellt installerad profil på en arbetstelefon som det undantag den är. När den är installerad bör skrivaren dyka upp i utskriftsarket helt utan upptäcktstrafik. Den förekomsten är det enda nyttolasten någonsin skulle garantera.

En skrivare som dyker upp men misslyckas på varje jobb har ett rutt-, port-, sökvägs- eller TLS-problem, och inget av dem löses av nyttolasten.

En skrivare som aldrig dyker upp har i stället ett leverans- eller nyttolastproblem: profilen installerades inte, matrisen är felaktig eller ett värde matchar inte enheten. Läs värdena och målenheten igen innan du rör VPN:et. Att lägga till ett upptäcktsrelä för att åtgärda ett listproblem är ett dyrt misstag, eftersom listan aldrig berodde på upptäckt.

Håll posten underhållbar

Föredra ett värdnamn framför en litteral adress där du kontrollerar zonen, så att en adressändring inte ogiltigförklarar varje installerad profil. Det värdnamnet måste lösas från telefonen medan tunneln är uppe, vilket för tillbaka det till split-DNS-samtalet snarare än utskriftssamtalet.

Skriv in skrivarägaren och profilägaren i driftsättningsposten. När kön flyttar uppdaterar du den publicerade destinationen med avsikt, eftersom en gammal post inte löper ut av sig själv och fortsätter att dirigera användare till en avvecklad enhet.

Inget av detta gör en skrivare AirPrint-kompatibel. Nyttolasten publicerar en destination, och enheten måste fortfarande tala IPP.

Relaterade artiklar