بستههای VPN آفلاین: از هدف بپرسید چه لازم دارد
بگذارید ماشین قطعشده مجموعهٔ وابستگیهای خودش را توصیف کند. دو سفر، درخواست و سپس واردکردن، و پس از آن تراکنش APT که هنوز باید اجرا کنید.
به کارخواه VPN نیاز دارید تا به شبکهای برسید که معمولاً بستههایش را تأمین میکرد، و این دایرهای کوچک و مرتب است. بارگیری یک بستهٔ DEB از OpenVPN روی ماشین دیگر معمولاً با یک وابستگی گمشدهٔ دوم تمام میشود، بعد سومی، و بعد شبی که صرف دنبالکردن نسخههای کتابخانه میشود. جایگزین این است که بگذارید ماشین قطعشده خودش، به زبان خودش، بگوید مدیر بستهاش چه میخواهد. همهچیز در ادامه از همین وارونهشدن این پرسش میآید که چه کسی میپرسد.
در سامانههای خانوادهٔ Debian این گفتوگو از طریق apt-offline انجام میشود، یک گردشکار درخواست و بازگشت. محیط اجرای خودش باید نخست روی هدف حاضر باشد، از رسانههای تأییدشده یا راهاندازی اولیهٔ دیگری که مدیر سامانه کنترل میکند نصب شده باشد، چون هیچ ابزاری نمیتواند خودش را از هیچ راهاندازی کند.
از وضعیت بستههای هدف شروع کنید، نه از وضعیت کمککننده
پیش از هر چیز انتشار توزیع هدف، معماری فضای کاربر و منابع بستهٔ پیکربندیشده را ثبت کنید. این سه واقعیت تعیین میکنند کدام پیادهسازی VPN و کدام یکپارچهسازی رومیزی مناسب است، و همان واقعیتهایی هستند که یک کمککنندهٔ متصل نمیتواند فراهم کند.
کمککننده فایلها را بارگیری میکند؛ خودش به خط پایهٔ وابستگیها تبدیل نمیشود. لپتاپ تازهتری که OpenVPN از پیش روی آن نصب است وضعیت بستهٔ کاملاً متفاوتی با هدف دارد، پس موفقیتش هیچ چیزی را دربارهٔ آنچه هدف میتواند بپذیرد ثابت نمیکند.
همچنین تصمیم بگیرید که واقعاً چه میخواهید. موتور VPN، افزونهٔ سرویس NetworkManager و ویرایشگر گرافیکی بستههای جداگانهای هستند و انتخاب درست به انتشار و به شیوهٔ مدیریت اتصال توسط کاربر بستگی دارد. سرور بدون نمایشگر به موتور و یک فایل پیکربندی نیاز دارد؛ رومیزی نیاز دارد به افزونهای که میگذارد تنظیمات شبکهاش مالک تونل باشند. درخواست مجموعهٔ نادرست نصب موفقی و اتصالی به بار میآورد که هیچکس نمیتواند آغازش کند.
دو سفر، به همین ترتیب
راهنما سه عملیات را جدا میکند: ساختن درخواست روی سامانهٔ قطعشده، بارگیری روی کمککنندهٔ متصل و واردکردن دوباره روی هدف. پیش از درخواست بستهها فرادادهٔ مخزن هدف را تازه کنید، چون درخواست بسته از همان فراداده ساخته میشود و نمایههای کهنه درخواستهایی پدید میآورند که کمککننده نمیتواند برآورده کند.
روی هدف، فرمان مدیریتی به شکل apt-offline set vpn-meta.sig --update درخواست تازهسازی را مینویسد. آن فایل را به ماشین متصل ببرید و با apt-offline get vpn-meta.sig --bundle vpn-meta.zip یک بستهٔ جمعشده بارگیری کنید. بسته را برگردانید و با apt-offline install vpn-meta.zip آن را روی هدف وارد کنید، باز هم بهعنوان مدیر.
اکنون درخواست بسته را از فرادادهٔ تازهشده بسازید، برای نمونه apt-offline set vpn-deps.sig --install-packages openvpn، و سفر را با نام بستهٔ جمعشدهٔ تازه تکرار کنید. هر درخواست را در جفت با بستهٔ جمعشدهای نگه دارید که پدید آورده است؛ بستهای که بر پایهٔ فرادادهٔ کهنهتر ساخته شده همان درخواست نیست، حتی وقتی نام فایلها قابلتعویض به نظر میرسند.
بستههای یکپارچهسازی را فقط وقتی طراحی به آنها نیاز دارد بیفزایید
اگر رومیزی باید تونل را از راه تنظیمات شبکهاش مدیریت کند، درخواست افزونهای متناظر و همچنین موتور را لازم دارد. نام دقیق بستههایی را که انتشار شما فراهم میکند بگنجانید، نه فهرستی را که از توزیع دیگری به یاد مانده، و هرگاه فهرست تغییر کرد درخواست تازه بسازید. سنجاقکردن نسخهها هم ارزش اندیشیدن دارد: بستهای که برای انتشار تازهتری ساخته شده میتواند نام را برآورده کند و باز هم در زمان اجرا شکست بخورد. همینجا است که مجموعهٔ ثابتی از چهار بسته به باری تبدیل میشود، چون فهرست درست ویژگی خود هدف است و تنها هدف میتواند آن را درست محاسبه کند.
همینجا هم مجموعهٔ ثابتی از چهار بسته به باری تبدیل میشود. فهرست درست ویژگی خود هدف است و هدف تنها ماشینی است که میتواند آن را درست محاسبه کند.
واردکردن بستهٔ جمعشده نصب VPN نیست
برخلاف نامش، عملیات نصب دادههای APT را در محیط مدیریت بسته مینهد. تراکنش بسته را انجام نمیدهد. نصب واقعی APT روی هدف را از دادههای فراهمشدهٔ محلی کامل کنید و بازبینی کنید، و خروجی را بخوانید نه اینکه فرض کنید موفقیت فایل ZIP یعنی نرمافزار حاضر است.
اگر آن تراکنش هنوز فایلهای ناموجود میخواهد، وابستگی گمشده یا خطای مخزن مشخص را نگه دارید و درخواست بعدی را از آن بسازید. بستهٔ DEB از انتشار دیگر را جایگزین نکنید و برای عبور دادنش بررسی جمع کنترلی یا احراز هویت مخزن را از کار نیندازید. راهنما آشکارا از نادیدهگرفتن بررسی فایلهای بارگیریشده هشدار میدهد و به حق: بستهٔ بررسینشده نتیجهای بدتر از نصب ناموفق است.
بستهها تنها نیمهٔ نخستاند
نصب نرمافزار از بهدستآوردن نقطهٔ پایانی تأییدشده، نمایه، مواد اعتماد و اعتبارنامهها جداست و هر یک از اینها میتواند تحویل کنترلشدهٔ خودش را داشته باشد. مجموعهٔ بستهٔ کارکننده بدون نمایهٔ معتبر به هیچجا وصل نمیشود.
سپس مسیر انتقال آفلاین را برای بهروزرسانیهای آینده زنده نگه دارید. پایان دانستن نخستین اتصال موفق به معنای پایان نگهداری این است که بهروزرسانی امنیتی بعدی منتظر بماند تا کسی با خودرو بتواند سر بزند، و اینگونه است که شبکهای آفلاین بیصدا سالها عقب میماند.