از سرور VPN خود بیرون ماندهاید: یک راه دوم برای ورود نگه دارید
یک تونل خراب نباید توانایی تعمیر سرور را هم از شما بگیرد. پیش از آنکه به آن نیاز پیدا کنید، یک مسیر اداری مستقل را برنامهریزی، آزمایش و بازبینی کنید.
کنسول را باز میکنید، یک قاعدهٔ دیوار آتش را تغییر میدهید و تونلی که از طریق آن متصل بودید ناپدید میشود. تغییر درست بود، بارگذاری مجدد نه، و حالا تنها مسیر بازگشت به ماشین همانی است که همین الان شکستید. راه دوم ورود یک تصمیم طراحی است و باید پیش از قطعی وجود داشته باشد، نه در میانهٔ آن.
آنچه هنوز در اختیار دارید را مرور کنید
از صفحهٔ کنسولی که پیش رویتان است شروع کنید و مسیرهایی را فهرست کنید که به تونل وابسته نیستند. یک کنسول وب ارائهدهنده با نشست سریال یا VNC یکی است. یک رابط مدیریتی روی شبکهٔ جداگانه دیگری است. دسترسی فیزیکی سومی است و همانی است که مردم در بدترین لحظه میفهمند وجود ندارد.
| Path | Depends on | Usually fails when |
|---|---|---|
| Provider console | Account access and the provider's own API | Credentials live in a wiki only reachable over the tunnel |
| Management subnet | A second interface and its own routing | The bad change was a global route or firewall policy |
| Second tunnel | A different listener, port and credentials | Both listeners were changed in the same edit |
| Physical or local console | Being in the building | Nobody 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 رفتار وضعیت و راهاندازی مجدد را که در اینجا استفاده میشود پوشش میدهد، از جمله اینکه چگونه یک بارگذاری مجدد ناموفق فرایند قبلی را در حال اجرا رها میکند. بازگرداندن یک نسخهٔ منسجم بهتر از اتصال مکرر از کارخواهی است که نمیتواند سرور را تعمیر کند. اگر شرط عقبگردی که پیش از تغییر تعریف کردید برآورده شده است، بازگردانید و متوقف شوید.
فهرست داراییها را بهروز نگه دارید
هر وقت افراد یا زیرساخت تغییر میکنند فهرست دسترسی را بازبینی کنید. مسیر بازیابی را وقتی همهچیز کار میکند آزمایش کنید. حسابهایی را که از آخرین بازسازماندهی کسی استفاده نکرده بازنشسته کنید. دو حساب قدیمی و یک گواهی منقضی، پاکسازی کوچکی در سهشنبه و یک قطعی در یکشنبه است.
ثبت کنید چه کسی میتواند از هر مسیر استفاده کند، چه چیزی را مجاز میکند و اعتبارنامهها چگونه چرخانده میشوند. مسیر بازیابی بدون مالک به ورودی فراموششدهای تبدیل میشود، که نوع متفاوتی از خرابی نسبت به بیرون ماندن است.