Nie potrzebujesz wykrywania Bonjour, aby drukować przez VPN
Ładunek AirPrint nazywa drukarkę adresem, ścieżką i portem, więc wykrywanie nie musi przechodzić przez tunel. Trasa, ten port i TLS nadal muszą działać.
Prawdopodobnie powiedziano ci, że drukowanie z iPhone'a przez VPN wymaga, aby wykrywanie Bonjour przechodziło przez tunel. To przekonanie kieruje ludzi ku mostom TAP i przekaźnikom multicast, które niczego nie naprawiają. AirPrint akceptuje jawny cel: profil konfiguracji może przekazać telefonowi adres, ścieżkę zasobu i port drukarki. Wykrywanie nigdy nie musi nastąpić, aby ten wpis pojawił się w arkuszu drukowania. Czego ładunek nie robi, to nie tworzy trasy, nie zmusza drukarki innej niż AirPrint do mówienia IPP ani nie autoryzuje zadania.
Mit zaczyna się od prawdziwej obserwacji
Bonjour jest z założenia multicastem lokalnym dla łącza. Trasa tunelowa punkt-do-punktu nie przenosi tych grup, więc telefon w VPN nie może przeglądać drukarek w odległej sieci LAN, a laptop w tym samym tunelu również nie. Właściwy wniosek nie jest taki, że drukowanie potrzebuje mostu; jest nim to, że przeglądanie potrzebuje innego mechanizmu dostarczania, a jawna lista jest tym mechanizmem.
Przekaźniki multicast istnieją i niektóre sieci dobrze je obsługują, ale rozwiązują wymóg wykrywania, którego możesz nie mieć. Jeśli wdrożenie ma drukować tylko na jedno zatwierdzone urządzenie, publikacja tego urządzenia jest mniejsza, testowalna i znacznie łatwiejsza do wycofania niż rozszerzanie domeny rozgłaszania przez tunel.
Co naprawdę zawiera ładunek
Ładunek com.apple.airprint zawiera tablicę słowników drukarki. Każdy słownik przyjmuje IPAddress, który może być adresem dosłownym lub nazwą hosta, ResourcePath, opcjonalny Port i opcjonalny ForceTLS. Apple dokumentuje Port i ForceTLS od iOS 11, więc mieszana flota musi to wyjaśnić przed wdrożeniem.
Ścieżka to pole, które ludzie zgadują. ResourcePath odzwierciedla wartość rp w rekordzie Bonjour drukarki _ipps._tcp lub _ipp._tcp. Często jest to ipp/print w nowoczesnych drukarkach bez sterowników, a często jest specyficzna dla producenta w starszych. Skopiowanie ścieżki z innego modelu tworzy kolejkę, która pojawia się, a następnie odrzuca każde zadanie.
Element tablicy wygląda tak, z wartościami zastępczymi, które nie są przetestowanym punktem końcowym:
<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>
Ten fragment nie jest profilem. To jeden element tablicy AirPrint wewnątrz ładunku, a ładunek nadal potrzebuje własnych metadanych oraz podpisu lub dostarczenia przez MDM. Słownik drukarki AirPrint jest odniesieniem do znaczeń pól.
Zbierz wartości z drukarki, a nie z wyniku wyszukiwania
Na Macu, który już drukuje na urządzeniu, ippfind lub dns-sd -B _ipp._tcp pokazuje ogłoszoną instancję, a interfejs webowy samej drukarki zwykle wymienia ścieżkę IPP i port. Zapisz wszystkie cztery wartości w notatce wdrożeniowej, aby następna osoba nie musiała ich ponownie odczytywać ze zrzutu ekranu.
Następnie świadomie zdecyduj o TLS. Gdy ForceTLS ma wartość prawda, telefon musi ufać certyfikatowi przedstawionemu przez drukarkę, a certyfikat z podpisem własnym zawodzi, jeśli nie wdrożysz także kotwicy zaufania. Wyłączenie TLS, aby kolejka działała, jest decyzją o trasie sieciowej, a nie obejściem niewygodnego certyfikatu.
Dostarczanie, potem dwa przeciwne błędy
Dostarcz ładunek kanałem zarządzania urządzeniami, jeśli istnieje, a profil zainstalowany ręcznie na telefonie służbowym traktuj jako wyjątek, którym jest. Po instalacji drukarka powinna pojawić się w arkuszu drukowania bez żadnego ruchu wykrywania. To pojawienie się jest jedyną rzeczą, którą ładunek miał kiedykolwiek gwarantować.
Drukarka, która pojawia się, ale zawodzi przy każdym zadaniu, ma problem z trasą, portem, ścieżką lub TLS, i żadnego z nich nie rozwiązuje ładunek.
Drukarka, która nigdy się nie pojawia, ma zamiast tego problem z dostarczaniem lub ładunkiem: profil nie został zainstalowany, tablica jest nieprawidłowa albo wartość nie pasuje do urządzenia. Przeczytaj ponownie wartości i urządzenie docelowe, zanim dotkniesz VPN. Dodanie przekaźnika wykrywania, aby naprawić problem z listą, jest kosztownym błędem, ponieważ lista nigdy nie zależała od wykrywania.
Utrzymuj wpis w stanie nadającym się do utrzymania
Preferuj nazwę hosta zamiast adresu dosłownego tam, gdzie kontrolujesz strefę, aby zmiana adresu nie unieważniła każdego zainstalowanego profilu. Ta nazwa hosta musi być rozwiązywana z telefonu, gdy tunel jest aktywny, co przenosi sprawę z powrotem do rozmowy o split-DNS, a nie o drukowaniu.
Zapisz właściciela drukarki i właściciela profilu w rejestrze wdrożenia. Gdy kolejka się przenosi, celowo zaktualizuj opublikowany cel, ponieważ stary wpis nie wygasa sam i nadal kieruje użytkowników do wycofanego urządzenia.
Nic z tego nie czyni drukarki zdolną do AirPrint. Ładunek publikuje cel, a urządzenie nadal musi mówić IPP.