
Das Problem beruht auf einer einfachen Einschränkung:
Der Server, auf dem die Geschäftslogik gespeichert ist, ist nicht mit dem Drucker im selben Netzwerk verbunden. Der Drucker befindet sich in einem anderen Netzwerk, das keine Möglichkeit hat, eine öffentliche IP-Adresse preiszugeben.
Die Architektur, die ich bisher entworfen habe, ist dies zu sehenHier.
Die beiden LANs sind dargestellt inorangeUndBlau, und es gibt ein VPN inRotdie beide verbindet. Durch das blaue LANnicht möglichUm eine öffentliche IP verfügbar zu machen, besteht die einzige Möglichkeit darin, das VPN vom Server aus bereitzustellen.
Ist es mit diesem Setup möglich, dass die Node.js-App, die im Server ausgeführt wird,erkenntdie Drucker, die CUPSveröffentlichtim blau/roten Netz?
Ich verstehe, dass CUPS die verfügbaren Drucker bekannt gibt durchmDNS, aber nur in dem spezifischen Netzwerk, mit dem es verbunden ist. Es besteht also die Möglichkeit, dass die Paketedarf nicht reisenvon einem Client-VPN zum eigentlichen Server (aufgrundStandard-VPN-Verhalten).
Ist das, was ich erreichen möchte, möglich? Welche anderen Möglichkeiten habe ich?
Aktualisieren
Ich habe einige Ansätze gefunden, die eine Untersuchung wert sind:
- Verwenden Sie ein VXLAN, um die beiden Netze zu einem zu verbinden und Multicast über das Netzwerk durchzuführen.
- Aktivieren Sie Multicast über OpenVPN oder Wireguard
- Wiederholen Sie von mDNS gesendete Pakete auf einer anderen Schnittstelle
- Erstellen eines Proxy-Dienstdatensatzes mit DNS-SD
Hier sind einige nützliche Informationen:
- 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
Ich denke, die Antwort liegt in einem dieser Punkte oder in einer Kombination aus mehreren davon.