
이 문제는 다음과 같은 간단한 제한 사항을 기반으로 합니다.
비즈니스 로직을 보유한 서버가 동일한 네트워크의 프린터와 연결되어 있지 않습니다. 프린터가 공용 IP를 노출할 가능성이 없는 다른 네트워크에 있습니다.
지금까지 제가 디자인한 아키텍처는 다음과 같습니다.여기.
두 개의 LANS는 다음과 같이 표시됩니다.주황색그리고파란색, VPN이 있습니다빨간색둘을 연결하는 것입니다. 블루랜 때문에불가능하다공용 IP를 노출하는 유일한 방법은 서버에서 VPN을 제공하는 것입니다.
이 설정을 사용하면 Node.js 앱이 서버 내부에서 실행될 수 있습니까?감지하다CUPS가 사용하는 프린터출판하다파란색/빨간색 네트워크에 있나요?
나는 CUPS가 다음을 통해 사용 가능한 프린터를 광고한다는 것을 이해합니다.mDNS, 그러나 연결된 특정 네트워크에서만 가능합니다. 따라서 패키지가여행하지 못할 수도 있다클라이언트 VPN에서 실제 서버로(이로 인해)표준 VPN 동작).
내가 달성하려는 것이 가능합니까? 다른 어떤 옵션이 있나요?
업데이트
조사할 가치가 있는 몇 가지 접근 방식을 찾았습니다.
- VXLAN을 사용하여 두 개의 네트를 하나로 연결하고 네트워크를 통해 멀티캐스트
- OpenVPN 또는 Wireguard를 통한 멀티캐스트 활성화
- 다른 인터페이스에서 mDNS가 보낸 패키지 반복
- DNS-SD를 사용하여 프록시 서비스 레코드 만들기
다음은 몇 가지 유용한 정보입니다.
- 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
나는 그 중 하나 또는 그 중 일부의 조합에 답이 있다고 생각합니다.