
この問題は単純な制約に基づいています:
ビジネス ロジックを保持するサーバーは、同じネットワーク内のプリンターに接続されていません。プリンターは、パブリック IP を公開できない別のネットワークにあります。
私がこれまで設計してきた建築は、このように見ることができますここ。
2つのLANは次のように表される。オレンジそして青、VPNがあります赤2つを繋ぐ青いLAN不可能であるパブリック IP を公開するには、サーバーから VPN を提供するしかありません。
この設定では、サーバー内で実行されているNode.jsアプリが検出するCUPSのプリンター出版する青/赤のネットワークでは?
CUPSは利用可能なプリンターを次のように宣伝していることを理解しています。メートルDNSただし、接続している特定のネットワーク上でのみ有効です。そのため、パッケージが旅行できないかもしれないクライアントVPNから実際のサーバーへの(標準的なVPNの動作)。
私が達成しようとしていることは可能でしょうか? 他にどのような選択肢がありますか?
アップデート
調査する価値のあるアプローチをいくつか見つけました:
- VXLANを使用して2つのネットを1つに接続し、ネットワーク上でマルチキャストする
- 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 を参照してください。
答えは、そのうちの 1 つ、またはいくつかの組み合わせにあると思います。