No necesita el descubrimiento de Bonjour para imprimir por VPN
Una carga de AirPrint nombra una impresora por dirección, ruta y puerto, así que el descubrimiento no tiene que cruzar el túnel. La ruta, ese puerto y TLS siguen teniendo que funcionar.
Probablemente le hayan dicho que imprimir desde un iPhone por una VPN requiere que el descubrimiento de Bonjour cruce el túnel. Esa creencia empuja a la gente hacia puentes TAP y repetidores multicast que no arreglan nada. AirPrint acepta un destino explícito: un perfil de configuración puede entregar al teléfono la dirección, la ruta del recurso y el puerto de una impresora. El descubrimiento nunca tiene que ocurrir para que esa entrada aparezca en la hoja de impresión. Lo que la carga no hace es crear la ruta, hacer que una impresora que no es AirPrint hable IPP ni autorizar el trabajo.
El mito empieza con una observación cierta
Bonjour es multicast de enlace local por diseño. Un túnel enrutado punto a punto no transporta esos grupos, así que un teléfono en una VPN no puede explorar las impresoras de la LAN remota, y un portátil en el mismo túnel tampoco. La conclusión correcta no es que la impresión necesite un puente; es que la exploración necesita un mecanismo de entrega distinto, y una lista explícita es ese mecanismo.
Los repetidores multicast existen y algunas redes los gestionan bien, pero resuelven un requisito de descubrimiento que puede que usted no tenga. Si el despliegue solo tiene que imprimir en un dispositivo aprobado, publicar ese dispositivo es más pequeño, comprobable y mucho más fácil de retirar que extender un dominio de difusión por un túnel.
Qué lleva realmente la carga
La carga com.apple.airprint contiene una matriz de diccionarios de impresora. Cada diccionario toma una IPAddress, que puede ser una dirección literal o un nombre de host, una ResourcePath, un Port opcional y un ForceTLS opcional. Apple documenta Port y ForceTLS desde iOS 11, así que un parque mixto necesita tenerlo claro antes del despliegue.
La ruta es el campo que la gente adivina. ResourcePath refleja el valor rp del registro Bonjour de la impresora _ipps._tcp o _ipp._tcp. Suele ser ipp/print en las impresoras modernas sin controladores y suele ser específica del fabricante en las más antiguas. Copiar una ruta de otro modelo produce una cola que aparece y luego rechaza cada trabajo.
Un elemento de la matriz se ve así, con valores de marcador de posición que no son un extremo probado:
<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>
Ese fragmento no es un perfil. Es un elemento de la matriz AirPrint dentro de una carga, y la carga todavía necesita sus propios metadatos además de firma o entrega por MDM. El diccionario de impresora AirPrint es la referencia de los significados de los campos.
Recoja los valores de la impresora, no de un resultado de búsqueda
En un Mac que ya imprime al dispositivo, ippfind o dns-sd -B _ipp._tcp muestra la instancia anunciada, y la interfaz web de la propia impresora suele listar la ruta IPP y el puerto. Anote los cuatro valores en la nota de despliegue para que la siguiente persona no tenga que deducirlos otra vez de una captura de pantalla.
Después decida sobre TLS a propósito. Con ForceTLS en verdadero, el teléfono debe confiar en el certificado que presenta la impresora, y un certificado autofirmado falla salvo que también despliegue el ancla de confianza. Desactivar TLS para que una cola funcione es una decisión sobre la ruta de red, no una solución alternativa para un certificado incómodo.
Entrega, y luego dos fallos opuestos
Entregue la carga por su canal de gestión de dispositivos donde exista, y trate un perfil instalado a mano en un teléfono de trabajo como la excepción que es. Una vez instalado, la impresora debería aparecer en la hoja de impresión sin ningún tráfico de descubrimiento. Esa aparición es lo único que la carga debía garantizar.
Una impresora que aparece pero falla en cada trabajo tiene un problema de ruta, puerto, camino o TLS, y ninguno de ellos lo resuelve la carga.
Una impresora que nunca aparece tiene más bien un problema de entrega o de carga: el perfil no se instaló, la matriz está mal formada o un valor no coincide con el dispositivo. Vuelva a leer los valores y el dispositivo de destino antes de tocar la VPN. Añadir un repetidor de descubrimiento para arreglar un problema de listado es un error caro, porque el listado nunca dependió del descubrimiento.
Mantenga la entrada mantenible
Prefiera un nombre de host a una dirección literal donde controle la zona, para que un cambio de dirección no invalide todos los perfiles instalados. Ese nombre de host tiene que resolverse desde el teléfono mientras el túnel está activo, lo que lo devuelve a la conversación sobre DNS dividido y no a la de impresión.
Escriba el propietario de la impresora y el propietario del perfil en el registro de despliegue. Cuando la cola se mueva, actualice el destino publicado a propósito, porque una entrada antigua no caduca sola y sigue dirigiendo a los usuarios a un dispositivo retirado.
Nada de esto hace que una impresora sea compatible con AirPrint. La carga publica un destino, y el dispositivo todavía tiene que hablar IPP.