
Проблема основана на простом ограничении:
Сервер, на котором размещена бизнес-логика, не подключен к принтеру в той же сети. Принтер находится в другой сети, которая не имеет возможности выставлять публичный IP.
Архитектура, которую я спроектировал на данный момент, выглядит следующим образом:здесь.
Две сети LANS представлены вапельсинисиний, и есть VPN вкрасныйкоторый соединяет два. Благодаря синему LANне возможноЧтобы раскрыть публичный 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
Я думаю, что ответ кроется в одном из них или в их сочетании.