لا تحتاج إلى اكتشاف Bonjour للطباعة عبر VPN
يسمّي ملف AirPrint الطابعة بالعنوان والمسار والمنفذ، لذا لا يلزم أن يعبر الاكتشاف النفق. لا يزال على المسار والمنفذ وTLS أن يعملوا.
لقد قيل لك على الأرجح إن الطباعة من iPhone عبر VPN تتطلب أن يعبر اكتشاف Bonjour النفق. هذا الاعتقاد يدفع الناس نحو جسور TAP ومرحّلات البث المتعدد التي لا تصلح شيئًا. يقبل AirPrint وجهة صريحة: يمكن لملف تعريف تهيئة أن يمنح الهاتف عنوان الطابعة ومسار المورد والمنفذ. لا يلزم أن يحدث الاكتشاف أبدًا كي يظهر ذلك الإدخال في ورقة الطباعة. ما لا يفعله الملف هو إنشاء المسار، أو جعل طابعة لا تدعم AirPrint تتحدث IPP، أو التصريح بالمهمة.
الأسطورة تبدأ بملاحظة صحيحة
Bonjour بث متعدد محلي الوصلة بحكم التصميم. النفق الموجّه من نقطة إلى نقطة لا يحمل تلك المجموعات، لذا لا يستطيع هاتف على VPN تصفح الطابعات على الشبكة المحلية البعيدة، ولا حاسوب محمول على النفق نفسه. الاستنتاج الصحيح ليس أن الطباعة تحتاج جسرًا؛ بل أن التصفح يحتاج آلية توصيل مختلفة، والقائمة الصريحة هي تلك الآلية.
توجد مرحّلات البث المتعدد وبعض الشبكات تشغّلها جيدًا، لكنها تحل متطلب اكتشاف قد لا تحتاجه. إذا كان النشر يحتاج فقط إلى الطباعة على جهاز واحد معتمد، فإن نشر ذلك الجهاز أصغر وقابل للاختبار وأسهل بكثير في السحب من توسيع نطاق بث عبر نفق.
ما الذي يحمله الملف فعليًا
يحمل الملف com.apple.airprint مصفوفة من قواميس الطابعات. يأخذ كل قاموس IPAddress، وقد يكون عنوانًا حرفيًا أو اسم مضيف، و ResourcePath، و Port اختياريًا، و ForceTLS اختياريًا. توثّق Apple Port و ForceTLS ابتداءً من iOS 11، لذا يحتاج الأسطول المختلط إلى توضيح ذلك قبل النشر.
المسار هو الحقل الذي يخمّنه الناس. يعكس ResourcePath قيمة rp في سجل Bonjour الخاص بالطابعة _ipps._tcp أو _ipp._tcp. غالبًا ما يكون ipp/print على الطابعات الحديثة بلا تعريفات، وغالبًا ما يكون خاصًا بالبائع على الطابعات الأقدم. نسخ مسار من طراز مختلف ينتج قائمة تظهر ثم ترفض كل مهمة.
يبدو أحد عناصر المصفوفة هكذا، بقيم نائبة ليست نقطة نهاية مختبرة:
<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>
هذا المقطع ليس ملفًا. إنه عنصر واحد من مصفوفة AirPrint داخل ملف، ولا يزال الملف يحتاج إلى بياناته الوصفية الخاصة بالإضافة إلى التوقيع أو التوصيل عبر MDM. قاموس طابعة AirPrint هو المرجع لمعاني الحقول.
اجمع القيم من الطابعة، لا من نتيجة بحث
على جهاز Mac يطبع بالفعل إلى الجهاز، يُظهر ippfind أو dns-sd -B _ipp._tcp المثيل المعلن، وعادةً ما تسرد واجهة الويب الخاصة بالطابعة مسار IPP والمنفذ. سجّل القيم الأربع كلها في ملاحظة النشر حتى لا يستنتجها الشخص التالي من لقطة شاشة.
ثم قرّر بشأن TLS عن قصد. مع ForceTLS بقيمة صحيح يجب أن يثق الهاتف بالشهادة التي يقدمها الطابعة، وتفشل الشهادة الموقعة ذاتيًا ما لم تنشر أيضًا مرساة الثقة. إيقاف TLS لجعل القائمة تعمل قرار بشأن مسار الشبكة، وليس حلًا ملتفًا لشهادة غير مريحة.
التوصيل، ثم فشلان متعاكسان
وصّل الملف عبر قناة إدارة الأجهزة لديك حيث توجد، وتعامل مع ملف مثبّت يدويًا على هاتف عمل كالاستثناء الذي هو عليه. بعد التثبيت، يجب أن تظهر الطابعة في ورقة الطباعة دون أي حركة اكتشاف على الإطلاق. ذلك الظهور هو الشيء الوحيد الذي كان الملف يهدف إلى ضمانه.
الطابعة التي تظهر لكنها تفشل في كل مهمة لديها مشكلة في التوجيه أو المنفذ أو مسار المورد أو TLS، ولا يحلها الملف.
الطابعة التي لا تظهر أبدًا لديها مشكلة في التوصيل أو في الملف بدلًا من ذلك: لم يُثبَّت الملف، أو المصفوفة مشوّهة، أو قيمة لا تطابق الجهاز. أعد قراءة القيم والجهاز الهدف قبل لمس VPN. إضافة مرحّل اكتشاف لإصلاح مشكلة في القائمة خطأ مكلف، لأن القائمة لم تعتمد على الاكتشاف من الأساس.
اجعل الإدخال قابلًا للصيانة
فضّل اسم مضيف على عنوان حرفي حيث تتحكم في النطاق، حتى لا يؤدي تغيير العنوان إلى إبطال كل ملف مثبّت. يجب أن يُحلّ اسم المضيف هذا من الهاتف أثناء عمل النفق، ما يعيده إلى حديث DNS المنقسم بدلًا من حديث الطباعة.
اكتب مالك الطابعة ومالك الملف في سجل النشر. عندما تنتقل القائمة، حدّث الوجهة المنشورة عن قصد، لأن الإدخال القديم لا ينتهي من تلقاء نفسه ويظل يوجّه المستخدمين إلى جهاز مسحوب.
لا شيء من هذا يجعل الطابعة قادرة على AirPrint. الملف ينشر وجهة، ولا يزال على الجهاز أن يتحدث IPP.