Du treng ikkje Bonjour-oppdaging for å skrive ut over ein VPN
Ein AirPrint-nyttelast namngir ein skrivar med adresse, sti og port, så oppdaging treng ikkje krysse tunnelen. Ruta, den porten og TLS må framleis fungere.
Du har truleg fått høyre at utskrift frå ein iPhone over ein VPN krev at Bonjour-oppdaging kryssar tunnelen. Den overtydinga sender folk mot TAP-bruer og multicast-reléar som ikkje rettar noko. AirPrint godtek ein eksplisitt destinasjon: ein konfigurasjonsprofil kan gje telefonen adressa, ressursstien og porten til ein skrivar. Oppdaging treng aldri å skje for at den oppføringa skal visast i utskriftsarket. Det nyttelasten ikkje gjer, er å opprette ruta, få ein skrivar som ikkje er AirPrint til å snakke IPP eller autorisere jobben.
Myten byrjar med ei sann observasjon
Bonjour er link-local multicast av design. Ein ruta punkt-til-punkt-tunnel fraktar ikkje desse gruppene, så ein telefon på ein VPN kan ikkje bla gjennom skrivarar på det fjerne LAN-et, og ein berbar PC på same tunnel kan heller ikkje. Den rette konklusjonen er ikkje at utskrift treng ei bru; han er at gjennomlesing treng ein annan leveringsmekanisme, og ei eksplisitt liste er den mekanismen.
Multicast-reléar finst, og nokre nettverk driv dei godt, men dei løyser eit oppdagingskrav du kanskje ikkje har. Viss utrullinga berre skal skrive ut til éin godkjend eining, er publiseringa av den eininga mindre, testbar og langt lettare å trekkje tilbake enn å utvide eit kringkastingsdomene over ein tunnel.
Kva nyttelasten faktisk inneheld
Nyttelasten com.apple.airprint inneheld ein matrise med skrivarordbøker. Kvar ordbok tek ein IPAddress, som kan vere ei litteral adresse eller eit vertsnamn, ein ResourcePath, ein valfri Port og ein valfri ForceTLS. Apple dokumenterer Port og ForceTLS frå iOS 11 og utover, så ein blanda flåte må ha dette avklart før utrulling.
Stien er feltet folk gissar på. ResourcePath speglar rp-verdien i Bonjour-oppføringa til skrivaren _ipps._tcp eller _ipp._tcp. Han er ofte ipp/print på moderne skrivarar utan drivarar og ofte leverandørspesifikk på eldre. Kopiering av ein sti frå ein annan modell gjev ein kø som dukkar opp og deretter avviser kvar jobb.
Eit element i matrisen ser slik ut, med plasshaldarverdiar som ikkje er eit testa endepunkt:
<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 er ikkje ein profil. Det er eitt element i AirPrint-matrisen inne i ein nyttelast, og nyttelasten treng framleis sine eigne metadata pluss signering eller MDM-levering. AirPrint-skrivarordboka er referansen for felttydingane.
Samle verdiane frå skrivaren, ikkje frå eit søkjeresultat
På ein Mac som allereie skriv ut til eininga, viser ippfind eller dns-sd -B _ipp._tcp den annonserte førekomsten, og skrivaren sitt eige webgrensesnitt listar vanlegvis IPP-stien og porten. Skriv ned alle fire verdiane i utrullingsnotatet, så neste person ikkje må utleie dei på nytt frå eit skjermbilete.
Bestem deg deretter medvite om TLS. Med ForceTLS sann må telefonen stole på sertifikatet skrivaren presenterer, og eit sjølvsignert sertifikat feilar med mindre du også rullar ut tillitsankeret. Å slå av TLS for å få ein kø til å verke er eit vedtak om nettverksruta, ikkje ein omveg for eit upraktisk sertifikat.
Levering, deretter to motsette feil
Lever nyttelasten gjennom eininga di sin administrasjonskanal der ein finst, og handsam ein manuelt installert profil på ein arbeidstelefon som det unntaket han er. Når han er installert, skal skrivaren dukke opp i utskriftsarket heilt utan oppdagingstrafikk. Den opptredenen er det einaste nyttelasten nokon gong skulle garantere.
Ein skrivar som dukkar opp men feilar på kvar jobb, har eit rute-, port-, sti- eller TLS-problem, og ingen av dei blir løyste av nyttelasten.
Ein skrivar som aldri dukkar opp, har i staden eit leverings- eller nyttelastproblem: profilen vart ikkje installert, matrisen er feil, eller ein verdi passar ikkje til eininga. Les verdiane og måleininga på nytt før du rører VPN-en. Å leggje til eit oppdagingsrelé for å rette eit listeproblem er ein dyr feil, fordi lista aldri var avhengig av oppdaging.
Hald oppføringa vedlikehaldbar
Føretrekk eit vertsnamn framfor ei litteral adresse der du kontrollerer sona, slik at ei adresseendring ikkje gjer kvar installert profil ugyldig. Det vertsnamnet må løysast frå telefonen medan tunnelen er oppe, noko som bringar det tilbake i split-DNS-samtalen snarare enn utskriftssamtalen.
Skriv skrivareigaren og profileigaren inn i utrullingsposten. Når køen flyttar seg, oppdater den publiserte destinasjonen med vilje, fordi ei gammal oppføring ikkje går ut av seg sjølv og held fram med å leie brukarar til ei utfasa eining.
Ingenting av dette gjer ein skrivar AirPrint-kompatibel. Nyttelasten publiserer ein destinasjon, og eininga må framleis snakke IPP.