Du trenger ikke Bonjour-oppdagelse for å skrive ut over en VPN
En AirPrint-nyttelast navngir en skriver med adresse, sti og port, så oppdagelse trenger ikke krysse tunnelen. Ruten, den porten og TLS må fortsatt fungere.
Du har sannsynligvis fått høre at utskrift fra en iPhone over en VPN krever at Bonjour-oppdagelse krysser tunnelen. Den overbevisningen sender folk mot TAP-broer og multicast-reléer som ikke retter noe. AirPrint godtar en eksplisitt destinasjon: en konfigurasjonsprofil kan gi telefonen adressen, ressursstien og porten til en skriver. Oppdagelse trenger aldri å skje for at den oppføringen skal vises i utskriftsarket. Det nyttelasten ikke gjør, er å opprette ruten, få en skriver som ikke er AirPrint til å snakke IPP eller autorisere jobben.
Myten starter med en sann observasjon
Bonjour er link-local multicast av design. En rutet punkt-til-punkt-tunnel frakter ikke disse gruppene, så en telefon på en VPN kan ikke bla gjennom skrivere på det fjerne LAN-et, og en bærbar PC på samme tunnel kan heller ikke. Den riktige konklusjonen er ikke at utskrift trenger en bro; den er at gjennomlesing trenger en annen leveringsmekanisme, og en eksplisitt liste er den mekanismen.
Multicast-reléer finnes, og noen nettverk driver dem godt, men de løser et oppdagelseskrav du kanskje ikke har. Hvis utrullingen bare skal skrive ut til én godkjent enhet, er publiseringen av den enheten mindre, testbar og langt lettere å trekke tilbake enn å utvide et kringkastingsdomene over en tunnel.
Hva nyttelasten faktisk inneholder
Nyttelasten com.apple.airprint inneholder en matrise med skriverordbøker. Hver ordbok tar en IPAddress, som kan være en litteral adresse eller et vertsnavn, en ResourcePath, en valgfri Port og en valgfri ForceTLS. Apple dokumenterer Port og ForceTLS fra iOS 11 og utover, så en blandet flåte må ha dette avklart før utrulling.
Stien er feltet folk gjetter på. ResourcePath speiler rp-verdien i skriverens Bonjour-oppføring _ipps._tcp eller _ipp._tcp. Den er ofte ipp/print på moderne skrivere uten drivere og ofte leverandørspesifikk på eldre. Kopiering av en sti fra en annen modell gir en kø som dukker opp og deretter avviser hver jobb.
Et element i matrisen ser slik ut, med plassholderverdier som ikke er et testet 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 ikke en profil. Det er ett element i AirPrint-matrisen inne i en nyttelast, og nyttelasten trenger fortsatt sine egne metadata pluss signering eller MDM-levering. AirPrint-skriverordboken er referansen for feltbetydningene.
Samle verdiene fra skriveren, ikke fra et søkeresultat
På en Mac som allerede skriver ut til enheten, viser ippfind eller dns-sd -B _ipp._tcp den annonserte forekomsten, og skriverens eget webgrensesnitt lister vanligvis IPP-stien og porten. Skriv ned alle fire verdiene i utrullingsnotatet, så neste person ikke må utlede dem på nytt fra et skjermbilde.
Bestem deg deretter bevisst om TLS. Med ForceTLS sann må telefonen stole på sertifikatet skriveren presenterer, og et selvsignert sertifikat feiler med mindre du også ruller ut tillitsankeret. Å slå av TLS for å få en kø til å virke er en beslutning om nettverksruten, ikke en omvei for et ubeleilig sertifikat.
Levering, deretter to motsatte feil
Lever nyttelasten gjennom enhetsadministrasjonskanalen din der en finnes, og behandle en manuelt installert profil på en arbeidstelefon som det unntaket den er. Når den er installert, skal skriveren dukke opp i utskriftsarket helt uten oppdagelsestrafikk. Den opptredenen er det eneste nyttelasten noen gang skulle garantere.
En skriver som dukker opp men feiler på hver jobb, har et rute-, port-, sti- eller TLS-problem, og ingen av dem løses av nyttelasten.
En skriver som aldri dukker opp, har i stedet et leverings- eller nyttelastproblem: profilen ble ikke installert, matrisen er feil, eller en verdi passer ikke til enheten. Les verdiene og målenheten på nytt før du rører VPN-en. Å legge til et oppdagelsesrelé for å rette et listeproblem er en dyr feil, fordi listen aldri var avhengig av oppdagelse.
Hold oppføringen vedlikeholdbar
Foretrekk et vertsnavn fremfor en litteral adresse der du kontrollerer sonen, slik at en adresseendring ikke gjør hver installert profil ugyldig. Det vertsnavnet må løses fra telefonen mens tunnelen er oppe, noe som bringer det tilbake i split-DNS-samtalen snarere enn utskriftssamtalen.
Skriv skrivereieren og profileieren inn i utrullingsposten. Når køen flytter seg, oppdater den publiserte destinasjonen med vilje, fordi en gammel oppføring ikke utløper av seg selv og fortsetter å lede brukere til en utfaset enhet.
Ingenting av dette gjør en skriver AirPrint-kompatibel. Nyttelasten publiserer en destinasjon, og enheten må fortsatt snakke IPP.