Puncte:0

Detectați imprimanta în clientul VPN

drapel kg

Problema se bazează pe o simplă restricție:

Serverul care deține logica de afaceri nu este conectat cu imprimanta în aceeași rețea. Imprimanta se află într-o altă rețea care nu are posibilitatea de a expune un IP public.

Arhitectura pe care am proiectat-o ​​până acum se vede Aici.

Cele două LANS sunt reprezentate în portocale și albastruși există un VPN roșu care leagă cele două. Datorită rețelei LAN albastre nefiind posibil pentru a expune un IP public, singura modalitate este de a servi VPN-ul de pe server.

Cu această configurare, este posibil ca aplicația Node.js să ruleze în interiorul serverului detectează imprimantele care CUPS publică in reteaua albastra/rosu?

Înțeleg că CUPS face publicitate pentru imprimantele disponibile mDNS, dar numai pe rețeaua specifică la care este conectat. Deci, există posibilitatea ca pachetele poate să nu călătorească de la un VPN client la serverul real (datorită comportament VPN standard).

Este posibil ceea ce încerc să obțin? Ce alte variante mai am?

Actualizați

Am găsit câteva abordări care merită investigate:

  • Utilizați un VXLAN pentru a conecta cele două rețele ca una singură și multicast prin rețea
  • Activați multicast prin OpenVPN sau Wireguard
  • Repetați pachetele trimise de mDNS pe o altă interfață
  • Creați o înregistrare a serviciului proxy folosind DNS-SD

Iată câteva informații utile:

Cred că răspunsul se află într-unul sau în combinația unora dintre ele.

Michael Hampton avatar
drapel cz
Puteți oricând conecta manual serverul la imprimanta de la distanță folosind orice protocoale acceptă (HP, IPP, oricare ar fi).
drapel kg
Imi poti da un exemplu? Este posibil dat fiind faptul că rețeaua în care se află imprimanta nu are un IP public?
Michael Hampton avatar
drapel cz
Dacă puteți ajunge la imprimanta din rețea, o puteți configura. Dacă nu puteți ajunge la imprimanta din rețea, nimic din ceea ce faceți va face diferența.
drapel kg
Da, probabil că aș putea ajunge la imprimantă prin CUPS în cealaltă rețea. Ceea ce mi-am dorit a fost să instalez o bibliotecă în aplicația Node.js care detectează imprimantele publicate prin mDNS pe VPN și să aibă un comportament dinamic (detecta suișuri și coborâșuri) în loc să _codează în mod rigid_ adresa URL a imprimantei (x.x.x.x:631/Epson) în aplicație. . Acesta este scopul meu adevărat aici.
Michael Hampton avatar
drapel cz
Hardcoding? Nu mai facem asta. Puneți-l într-un fișier de configurare sau de mediu.
drapel kg
Știu. Ceea ce am vrut să spun este că nu vreau să știu dinainte ce imprimante sunt în cealaltă rețea. Ar putea fi unul, doi sau orice număr.Ideea mea a fost ca aplicația să detecteze imprimantele disponibile publicate de serverul CUPS prin [this](https://wiki.archlinux.org/title/CUPS/Printer_sharing#DNS-SD_advertisement) sau [this](https:// wiki.archlinux.org/title/CUPS/Printer_sharing#Sharing_via_Internet_Printing_Protocol). Apoi, în loc să am adresa URL într-un fișier de mediu, aș avea implementată o descoperire dinamică reală a serviciului și aș arăta clienților doar imprimantele disponibile.
drapel kg
Deci, ceea ce mă întreb cu adevărat este dacă acest mecanism de partajare poate călători prin VPN cumva și poate fi detectat de aplicație.
Michael Hampton avatar
drapel cz
Aceste mecanisme de descoperire a serviciilor funcționează numai pe un singur domeniu de difuzare de nivel 2. Nu sunt rutabile.
drapel kg
@MichaelHampton Am găsit câteva abordări care ar putea fi utile pentru a difuza aceste pachete către cealaltă gazdă. Voi continua să sap...

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.