Bạn không cần khám phá Bonjour để in qua VPN
Một tải trọng AirPrint đặt tên máy in bằng địa chỉ, đường dẫn và cổng, nên khám phá không cần đi qua đường hầm. Tuyến, cổng đó và TLS vẫn phải hoạt động.
Bạn có lẽ đã được nghe rằng in từ iPhone qua VPN đòi hỏi khám phá Bonjour phải đi qua đường hầm. Niềm tin đó đẩy người ta về phía cầu TAP và bộ chuyển tiếp multicast không sửa được gì. AirPrint chấp nhận một đích đến rõ ràng: một cấu hình có thể cung cấp cho điện thoại địa chỉ, đường dẫn tài nguyên và cổng của máy in. Khám phá không bao giờ phải xảy ra để mục đó xuất hiện trong trang in. Điều tải trọng không làm là tạo tuyến, khiến một máy in không phải AirPrint nói IPP hoặc cấp quyền cho công việc.
Huyền thoại bắt đầu bằng một quan sát đúng
Bonjour vốn là multicast liên kết cục bộ theo thiết kế. Một đường hầm định tuyến điểm-điểm không mang các nhóm đó, nên điện thoại trên VPN không thể duyệt máy in trên LAN xa, và laptop trên cùng đường hầm cũng không. Kết luận đúng không phải là in cần một cầu nối; mà là duyệt cần một cơ chế phân phối khác, và một danh sách rõ ràng chính là cơ chế đó.
Bộ chuyển tiếp multicast có tồn tại và một số mạng vận hành chúng tốt, nhưng chúng giải quyết một yêu cầu khám phá mà bạn có thể không có. Nếu việc triển khai chỉ cần in đến một thiết bị đã được phê duyệt, việc công bố thiết bị đó nhỏ hơn, có thể kiểm thử và dễ thu hồi hơn nhiều so với việc mở rộng miền quảng bá qua đường hầm.
Tải trọng thực sự mang gì
Tải trọng com.apple.airprint chứa một mảng từ điển máy in. Mỗi từ điển nhận một IPAddress, có thể là địa chỉ nguyên văn hoặc tên máy chủ, một ResourcePath, một Port tùy chọn và một ForceTLS tùy chọn. Apple tài liệu hóa Port và ForceTLS từ iOS 11 trở đi, nên một đội thiết bị hỗn hợp cần làm rõ điều đó trước khi triển khai.
Đường dẫn là trường mà mọi người đoán. ResourcePath phản ánh giá trị rp trong bản ghi Bonjour của máy in _ipps._tcp hoặc _ipp._tcp. Nó thường là ipp/print trên máy in hiện đại không cần trình điều khiển và thường đặc thù theo nhà sản xuất trên máy cũ. Sao chép đường dẫn từ model khác tạo ra một hàng đợi xuất hiện rồi từ chối mọi công việc.
Một phần tử trong mảng trông như thế này, với các giá trị giữ chỗ không phải điểm cuối đã kiểm thử:
<dict>
<key>ResourcePath</key>
<string>ipp/print</string>
<key>IPAddress</key>
<string>printer-07.office.example</string>
<key>Port</key>
<integer>8631</integer>
<key>ForceTLS</key>
<true/>
</dict>
Đoạn đó không phải là một cấu hình. Đó là một phần tử của mảng AirPrint bên trong một tải trọng, và tải trọng vẫn cần siêu dữ liệu riêng cùng chữ ký hoặc phân phối qua MDM. Từ điển máy in AirPrint là tài liệu tham chiếu cho ý nghĩa các trường.
Thu thập các giá trị từ máy in, không phải từ kết quả tìm kiếm
Trên một máy Mac đã in đến thiết bị, ippfind hoặc dns-sd -B _ipp._tcp hiển thị phiên bản được quảng bá, và giao diện web của chính máy in thường liệt kê đường dẫn IPP và cổng. Ghi cả bốn giá trị vào ghi chú triển khai để người tiếp theo không phải suy ra lại từ ảnh chụp màn hình.
Sau đó hãy quyết định về TLS một cách có chủ đích. Khi ForceTLS là đúng, điện thoại phải tin chứng chỉ mà máy in trình bày, và chứng chỉ tự ký sẽ thất bại trừ khi bạn cũng triển khai neo tin cậy. Tắt TLS để hàng đợi hoạt động là một quyết định về tuyến mạng, không phải lối vòng cho một chứng chỉ bất tiện.
Phân phối, rồi hai thất bại đối lập
Phân phối tải trọng qua kênh quản lý thiết bị của bạn ở nơi có, và coi một cấu hình được cài thủ công trên điện thoại công việc là ngoại lệ đúng như nó là. Sau khi cài, máy in sẽ xuất hiện trong trang in mà không có bất kỳ lưu lượng khám phá nào. Sự xuất hiện đó là điều duy nhất tải trọng phải bảo đảm.
Một máy in xuất hiện nhưng thất bại ở mọi công việc có vấn đề về tuyến, cổng, đường dẫn hoặc TLS, và không vấn đề nào được tải trọng giải quyết.
Một máy in không bao giờ xuất hiện thì lại có vấn đề về phân phối hoặc tải trọng: cấu hình không được cài, mảng bị hỏng hoặc một giá trị không khớp với thiết bị. Hãy đọc lại các giá trị và thiết bị đích trước khi chạm vào VPN. Thêm một bộ chuyển tiếp khám phá để sửa vấn đề danh sách là một sai lầm tốn kém, vì danh sách chưa bao giờ phụ thuộc vào khám phá.
Giữ mục này dễ bảo trì
Ưu tiên tên máy chủ hơn địa chỉ nguyên văn ở nơi bạn kiểm soát vùng, để một thay đổi địa chỉ không làm mất hiệu lực mọi cấu hình đã cài. Tên máy chủ đó phải được phân giải từ điện thoại khi đường hầm hoạt động, điều này đưa nó trở lại cuộc trò chuyện về split-DNS chứ không phải về in.
Ghi chủ máy in và chủ sở hữu cấu hình vào hồ sơ triển khai. Khi hàng đợi di chuyển, hãy cố ý cập nhật đích đã công bố, vì một mục cũ không tự hết hạn và tiếp tục hướng người dùng đến một thiết bị đã nghỉ hưu.
Không điều nào trong số này làm cho máy in có khả năng AirPrint. Tải trọng công bố một đích đến, và thiết bị vẫn phải nói IPP.