Điểm:0

Phát hiện máy in trong máy khách VPN

lá cờ kg

Vấn đề dựa trên một hạn chế đơn giản:

Máy chủ chứa logic nghiệp vụ không được kết nối với máy in trong cùng một mạng. Máy in được đặt trong một mạng khác không có khả năng hiển thị IP công cộng.

Kiến trúc tôi đã thiết kế cho đến nay là điều này có thể được nhìn thấy đây.

Hai mạng LAN được biểu diễn trong trái cammàu xanh da trời, và có một VPN trong màu đỏ mà kết nối cả hai. Do mạng LAN màu xanh không thể để hiển thị IP công cộng, cách duy nhất là cung cấp VPN từ máy chủ.

Với thiết lập này, có thể ứng dụng Node.js đang chạy bên trong máy chủ phát hiện các máy in mà CUPS xuất bản trong mạng xanh/đỏ?

Tôi hiểu rằng CUPS quảng cáo các máy in có sẵn thông qua mDNS, nhưng chỉ trên mạng cụ thể mà nó được kết nối. Vì vậy, có khả năng các gói có thể không đi du lịch từ VPN máy khách đến máy chủ thực tế (do hành vi VPN tiêu chuẩn).

Có thể những gì tôi đang cố gắng để đạt được? Tôi có những lựa chọn nào khác?

Cập nhật

Tôi đã tìm thấy một số cách tiếp cận đáng để nghiên cứu:

  • Sử dụng VXLAN để kết nối hai mạng làm một và phát đa hướng qua mạng
  • Bật phát đa hướng qua OpenVPN hoặc Wireguard
  • Lặp lại các gói được gửi bởi mDNS trên giao diện khác
  • Tạo bản ghi dịch vụ proxy bằng DNS-SD

Dưới đây là một số thông tin hữu ích:

Tôi nghĩ rằng câu trả lời nằm trong một hoặc sự kết hợp của một số trong số họ.

Michael Hampton avatar
lá cờ cz
Bạn luôn có thể kết nối máy chủ với máy in từ xa theo cách thủ công bằng bất kỳ giao thức nào nó hỗ trợ (HP, IPP, bất kỳ giao thức nào).
lá cờ kg
Ông có thể cho tôi một ví dụ? Có thể do mạng đặt máy in không có IP công cộng không?
Michael Hampton avatar
lá cờ cz
Nếu bạn có thể truy cập máy in trên mạng, bạn có thể thiết lập nó. Nếu bạn không thể kết nối với máy in trên mạng thì bạn không làm gì khác được.
lá cờ kg
Vâng, có lẽ tôi có thể truy cập máy in thông qua CUPS trong mạng khác. Điều tôi muốn là cài đặt một thư viện trong ứng dụng Node.js để phát hiện các máy in được xuất bản qua mDNS trên VPN và có hành vi động (phát hiện các thăng trầm) thay vì _hardcoding_ URL của máy in (x.x.x.x:631/Epson) trong ứng dụng . Đó là mục tiêu thực sự của tôi ở đây.
Michael Hampton avatar
lá cờ cz
Mã hóa cứng? Chúng tôi không làm điều đó nữa. Đặt nó trong một tập tin cấu hình hoặc môi trường.
lá cờ kg
Tôi biết. Điều tôi muốn nói là tôi không muốn biết trước máy in nào trên mạng khác. Nó có thể là một, hai hoặc bất kỳ số nào.Ý tưởng của tôi là ứng dụng sẽ phát hiện các máy in khả dụng do máy chủ CUPS xuất bản thông qua [this](https://wiki.archlinux.org/title/CUPS/Printer_sharing#DNS-SD_advertisement) hoặc [this](https:// wiki.archlinux.org/title/CUPS/Printer_sharing#Sharing_via_Internet_Printing_Protocol). Sau đó, thay vì có URL trong tệp môi trường, tôi sẽ triển khai khám phá dịch vụ động thực sự và chỉ hiển thị cho khách hàng những máy in khả dụng.
lá cờ kg
Vì vậy, điều tôi thực sự thắc mắc là liệu cơ chế chia sẻ này có thể đi qua VPN bằng cách nào đó và bị ứng dụng phát hiện hay không.
Michael Hampton avatar
lá cờ cz
Các cơ chế khám phá dịch vụ này chỉ hoạt động trên một miền quảng bá lớp 2 duy nhất. Chúng không thể định tuyến được.
lá cờ kg
@MichaelHampton Tôi đã tìm thấy một số cách tiếp cận có thể hữu ích để phát các gói này tới máy chủ lưu trữ khác. Tôi sẽ tiếp tục đào...

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.