کنسول را باز میکنید، یک قاعدهٔ دیوار آتش را تغییر میدهید و تونلی که از طریق آن متصل بودید ناپدید میشود. تغییر درست بود، بارگذاری مجدد نه، و حالا تنها مسیر بازگشت به ماشین همانی است که همین الان شکستید. راه دوم ورود یک تصمیم طراحی است و باید پیش از قطعی وجود داشته باشد، نه در میانهٔ آن.

آنچه هنوز در اختیار دارید را مرور کنید

از صفحهٔ کنسولی که پیش رویتان است شروع کنید و مسیرهایی را فهرست کنید که به تونل وابسته نیستند. یک کنسول وب ارائهدهنده با نشست سریال یا VNC یکی است. یک رابط مدیریتی روی شبکهٔ جداگانه دیگری است. دسترسی فیزیکی سومی است و همانی است که مردم در بدترین لحظه میفهمند وجود ندارد.

PathDepends onUsually fails when
Provider consoleAccount access and the provider's own APICredentials live in a wiki only reachable over the tunnel
Management subnetA second interface and its own routingThe bad change was a global route or firewall policy
Second tunnelA different listener, port and credentialsBoth listeners were changed in the same edit
Physical or local consoleBeing in the buildingNobody has been in the building for a year

ستون سوم را بهعنوان فهرستی از خرابیها بخوانید، نه بهعنوان یک انتزاع. دو مورد از این مسیرها معمولاً به یک دلیل شکست میخورند. جدول همان روشی است که پیش از آنکه قطعی آن را برایتان توضیح دهد متوجه میشوید.

استقلال مسئلهای درباره وابستگیهاست

حساب بازیابی مستقل نیست اگر گذرواژهاش در سرویسی ذخیره شده باشد که از طریق تونل به آن میرسید. یک VPN دوم روی همان میزبان، همان درگاه و همان سیاست دیوار آتش هم مستقل نیست، چون تغییری که اولی را شکست، هر دو را میشکند.

زنجیره را پایین بروید و نام ببرید که هر گام چه میخواهد. دسترسی شبکهای، تحلیل نام، یک منبع احراز هویت و خود سرویس مدیریت چهار وابستگی جداگانهاند و مسیری که هر یک از آنها را شریک شود آن خرابی را به ارث میبرد.

مسیری که هرگز آزمایش نشده شایستهٔ بدگمانی خودش است. کنسولی که ماهها باز نشده ممکن است بازنشانی گذرواژه از طریق ایمیل بخواهد و آن صندوق ممکن است روی ماشینی میزبانی شود که به آن نمیرسید. مسیر را وقتی همهچیز کار میکند آزمایش کنید و این را در یک بعدازظهر آرام پیدا خواهید کرد.

برای یک تغییر کنترلشده از مسیر دوم استفاده کنید

از کنسول، یک عکس لحظهای بگیرید یا پیکربندیای را که میخواهید ویرایش کنید کپی کنید. یک چیز را تغییر دهید. سرویس را دوباره بارگذاری کنید و نتیجه را پیش از دست زدن به چیز دیگری بخوانید، چون دو تغییر همزمان بازیابی را به آزمایش تبدیل میکند.

در حین انجام این کار نشست بازیابی را باز نگه دارید. تمام ارزش مسیر دوم این است که از همان چیزی که تغییرش میدهید جان سالم به در میبرد، پس بستن آن در ابتدا تنها ویژگیای را حذف میکند که آن را سودمند میکرد.

از مسیر بازیابی بررسی کنید، نه از حافظه

بررسیای که اهمیت دارد این است که آیا مسیر عادی برمیگردد، و نشست بازیابی جایی است که آن را به ترتیب تأیید میکنید:

systemctl status openvpn-server@server --no-pager
ss -lntup | grep -E ':(1194|443)\b'
nft list ruleset | sed -n '1,40p'
journalctl -u openvpn-server@server --since '-10 min' --no-pager | tail -n 30

ابتدا وضعیت سرویس را بخوانید، سپس شنونده، سپس قاعدهها، سپس گزارش. سرویسی که بدون شنونده اجرا میشود به پیکربندی سرویس اشاره دارد، در حالی که شنوندهای بدون قاعدههای قابل دسترس به پالایش اشاره میکند. ترتیب مهم است چون هر گام گام بعدی را باریکتر میکند، و پریدن به گزارش معمولاً یعنی خواندن خطاهایی که نشانه را توصیف میکنند نه علت را.

مستندات systemctl رفتار وضعیت و راهاندازی مجدد را که در اینجا استفاده میشود پوشش میدهد، از جمله اینکه چگونه یک بارگذاری مجدد ناموفق فرایند قبلی را در حال اجرا رها میکند. بازگرداندن یک نسخهٔ منسجم بهتر از اتصال مکرر از کارخواهی است که نمیتواند سرور را تعمیر کند. اگر شرط عقبگردی که پیش از تغییر تعریف کردید برآورده شده است، بازگردانید و متوقف شوید.

فهرست داراییها را بهروز نگه دارید

هر وقت افراد یا زیرساخت تغییر میکنند فهرست دسترسی را بازبینی کنید. مسیر بازیابی را وقتی همهچیز کار میکند آزمایش کنید. حسابهایی را که از آخرین بازسازماندهی کسی استفاده نکرده بازنشسته کنید. دو حساب قدیمی و یک گواهی منقضی، پاکسازی کوچکی در سهشنبه و یک قطعی در یکشنبه است.

ثبت کنید چه کسی میتواند از هر مسیر استفاده کند، چه چیزی را مجاز میکند و اعتبارنامهها چگونه چرخانده میشوند. مسیر بازیابی بدون مالک به ورودی فراموششدهای تبدیل میشود، که نوع متفاوتی از خرابی نسبت به بیرون ماندن است.

مقالات مرتبط