
O problema é baseado em uma restrição simples:
O servidor que contém a lógica comercial não está conectado à impressora na mesma rede. A impressora está localizada em outra rede que não tem possibilidade de expor um IP público.
A arquitetura que projetei até agora pode ser vistaaqui.
As duas LANS estão representadas emlaranjaeazul, e há uma VPN emvermelhoque conecta os dois. Devido à LAN azulnão sendo possívelpara expor um IP público, a única maneira é servir a VPN a partir do servidor.
Com esta configuração, é possível que o aplicativo Node.js rodando dentro do servidordetectaas impressoras que o CUPSpublicana rede azul/vermelha?
Entendo que o CUPS anuncia as impressoras disponíveis atravésmDNS, mas apenas na rede específica à qual está conectado. Então, existe a possibilidade de os pacotesnão pode viajarde uma VPN cliente para o servidor real (devido acomportamento VPN padrão).
É possível o que estou tentando alcançar? Que outras opções eu tenho?
Atualizar
Encontrei algumas abordagens que valem a pena investigar:
- Use uma VXLAN para conectar as duas redes como uma só e faça multicast pela rede
- Habilite multicast por OpenVPN ou Wireguard
- Repetir pacotes enviados por mDNS em outra interface
- Crie um registro de serviço de proxy usando DNS-SD
Aqui estão algumas informações úteis:
- 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
Acho que a resposta está em um ou na combinação de alguns deles.