
El problema se basa en una simple restricción:
El servidor que contiene la lógica empresarial no está conectado con la impresora en la misma red. La impresora está ubicada en otra red que no tiene la posibilidad de exponer una IP pública.
La arquitectura que he diseñado hasta ahora es esta que se puede ver.aquí.
Las dos LANS están representadas ennaranjayazul, y hay una VPN enrojoque conecta a los dos. Debido a la LAN azulno siendo posiblePara exponer una IP pública, la única forma es servir la VPN desde el servidor.
Con esta configuración, ¿es posible que la aplicación Node.js se ejecute dentro del servidor?detectalas impresoras que CUPSpublicaen la red azul/roja?
Entiendo que CUPS anuncia las impresoras disponibles a través demDNS, pero sólo en la red específica a la que está conectado. Entonces, existe la posibilidad de que los paquetesno puede viajardesde un cliente VPN al servidor real (debido acomportamiento VPN estándar).
¿Es posible lo que estoy tratando de lograr? ¿Qué otras opciones tengo?
Actualizar
He encontrado algunos enfoques que vale la pena investigar:
- Utilice una VXLAN para conectar las dos redes como una y realizar multidifusión a través de la red.
- Habilite la multidifusión a través de OpenVPN o Wireguard
- Repetir paquetes enviados por mDNS en otra interfaz
- Cree un registro de servicio de proxy usando DNS-SD
Aquí hay información útil:
- https://www.reddit.com/r/WireGuard/comments/g80bxf/cant_get_zeroconfavahimdns_reflection_to_work/
- https://gist.github.com/pamolloy/f464c2b54af03c436491f42abf0bbff9
- https://superuser.com/questions/949140/repeating-mdns-bonjour-requests-from-eth0-through-a-tunnel-tun0
- https://github.com/monstrenyatko/docker-mdns-repeater
Creo que la respuesta está en uno o en la combinación de algunos de ellos.