چرا ممکن است یک VPN متصل به نظر برسد در حالی که هیچ چیز کار نمیکند
«متصل» ممکن است یک فرایند، یک رابط یا یک انجمن را توصیف کند، نه یک مسیر قابل استفاده. یک درخواست تازه بفرستید و آنچه ثابت میکند ترافیک حرکت کرده را بخوانید.
کارخواه شما «متصل» گزارش میدهد، در حالی که رابط بالا است و مرورگر به پایان زمان میرسد، و هیچیک از این سه گزاره نادرست نیست. «متصل» لایهای را توصیف میکند که هیچ ارتباطی با صفحهای که خواستهاید ندارد. تصمیمگیری درباره اینکه کدام لایه گزارش میدهد به یک درخواست تازه و یک نگاه به شمارندهای نیاز دارد که ثابت میکند ترافیک حرکت کرده است. راهاندازی دوباره آن شاهد را دور میریزد و شرایطی را که میکوشیدید مشاهده کنید از نو میسازد.
سه چیز متفاوت که «متصل» نامیده میشود
در پایینترین سطح، «متصل» میتواند یعنی یک فرایند کارخواه در حال اجرا است و سوکتی به سوی همتا نگه میدارد. بالاتر از آن میتواند یعنی رابطی با یک نشانی وجود دارد که یک دستگاه پایا یا یک روال بازیابی میتواند بدون هیچ نشست زندهای در پشت آن بسازد. در سطح کنترل میتواند یعنی یک انجمن مذاکره شده است، که هیچ چیزی درباره اینکه حتی یک بسته از زیر آن گذشته باشد نمیگوید. هر یک از اینها از شکستهایی جان سالم به در میبرد که بقیه نمیبرند، و یک کارخواه معمولاً قویترین چیزی را که بتواند ادعا کند نمایش میدهد.
یک نماد سبز و یک تونل مرده بنابراین سازگارند نه متناقض؛ آنها درباره اشیای متفاوتی گزارش میدهند. این تمام دلیل آن است که این عیب پیوسته بهاشتباه یک باگ کارخواه تشخیص داده میشود.
پیش از دست زدن به دیمن، یک درخواست بیضرر به مقصدی که واقعاً نیاز دارید بفرستید، و در حین کار بلوک لازم ترافیک مستقیم را سر جایش نگه دارید. راهاندازی دوباره ترتیب رویدادها را پاک میکند و سپس آنها را بهقدر کافی نزدیک بازمیسازد تا علت را پنهان کند، و به همین دلیل همان تیکت یک هفته بعد بدون هیچ چیز تازه بازمیگردد. یک درخواست، یک قرائت شمارنده و محرکی که عیب را پدید آورد کمترین شاهد است.
کدام شمارنده ثابت میکند بستهها حرکت کردند
در IPsec، انجمن IKE و انجمن CHILD اشیای جداگانهاند، و تنها child شمارندههایی را دارد که به این پرسش پاسخ میدهند. child را فهرست کنید، ببینید آیا بستهها در هر دو جهت افزایش مییابند، و آن را با کاری که برنامه میکوشد انجام دهد مقایسه کنید. انجمن نصبشده در صفر یافتهای متفاوت از انجمنی است که افزایش مییابد در حالی که برنامه هنوز شکست میخورد؛ اولی یعنی ترافیک انتخاب نمیشود، دومی یعنی در حرکت است و عیب جلوتر قرار دارد. شمارندهها را دو بار و با فاصله چند ثانیه بخوانید، چون یک نمونه نمیتواند روند را نشان دهد.
swanctl --list-sas ip xfrm state list ip -s link show dev tun0
شمارندههای صفر به انتخاب اشاره میکنند: مسیریابی، سیاست، فضای نامی که بسته از آن خارج شده، یا رابطی که کارخواه هرگز به آن گره نخورده است. شمارندههای رو به افزایش از تونل دور اشاره میکنند، پس با ارسال در انتهای دور، حل نام، مسیر بازگشت و سرویس مقصد، به همین ترتیب ادامه دهید. پروتکلی که شیء child جداگانه ندارد همان شاهد را با اصطلاحات خودش آشکار میکند، پس از آنچه درباره وضعیت همتا و شمار بستهها گزارش میدهد استفاده کنید، نه اینکه واژگان IPsec را قرض بگیرید. شکل قرائت مهمتر از ابزاری است که آن را تولید کرده است.
پس از حرکت شمارندهها عیب کجا نشسته است
دروازهای که بر نشانی مدیریت خودش پاسخ میدهد ثابت میکند دروازه اجرا میشود، نه اینکه چیزی پشت آن به درخواست شما خدمت میکند، پس سمت دور را بیازمایید نه جعبه میانی را. حل نام عیبها را بهتر از همه پنهان میکند، زیرا حلکنندهای که از طریق تونل در دسترس نیست به شکلی به پایان زمان میرسد که با اتصال مرده یکسان به نظر میرسد. دو جستجو آن حالتها را جدا میکند، و هر دو ارزاناند. نخست از حلکنندهای که تونل تحمیل میکند بپرسید، سپس از یک حلکننده عمومی درباره همان نام بپرسید.
dig +short host.example dig +short @10.20.0.1 host.example ping -c 2 10.20.0.25
نامی که از طریق حلکننده عمومی حل میشود ولی از طریق حلکننده تونل نه، یعنی مسیر DNS شکسته است، در حالی که نامی که از هر دو حل میشود و هنوز در مرورگر به پایان زمان میرسد به مسیر بازگشت یا به سرویس اشاره میکند. اگر ping بر اساس نشانی موفق شود و برنامه هنوز امتناع کند، شبکه درخواست را رسانده و سرویس آن را رد کرده است، که مرحلهای کاملاً دیرتر است.
محرک را ثبت کنید، سپس یک چیز را تغییر دهید
ثبت کنید چه چیزی پیش از عیب رخ داده بود: دورهای از بیکاری، تغییری در شبکه، تمدید کلید، لپتاپی که از خواب بازگشته، یا سیستمی که بازیابی شده است. اینها سازوکارهای متفاوتی پدید میآورند، و معمولاً تنها سیستم بازیابیشده خودش را تعمیر میکند، که دقیقاً همان حالتی است که چیزی به شما نمیآموزد. راهاندازی دوباره ترتیب رویدادها را برمیدارد و سپس شرایطی بهقدر کافی نزدیک بازمیسازد تا علت را پنهان کند. محرک را تا وقتی هنوز بازتولیدپذیر است بنویسید.
سپس یک اصلاح پشتیبانیشده انجام دهید و درخواست اصلی را همراه با محرکی که عیب را پدید آورد تکرار کنید. بیکاری آسانترین محرک برای بازتولید است، پس سریعترین تأیید است که اصلاح به سازوکار پرداخته نه به نشانه.
آنچه میخواهید گزارش دهید شاهدی است بر اینکه ترافیکی که قصد فرستادنش را داشتید به سرویسی رسیده که قصد رسیدن به آن را داشتید. نمادی که سبز میشود، صفحهای که از حافظه نهان بار میشود و شمارندهای که حرکت میکند همه کمتر از یک درخواست کاملشده به مقصد مورد نظر را ثابت میکنند. درخواست، قرائت شمارنده و محرک را کنار هم نگه دارید تا نفر بعدی بتواند یک اصلاح را از یک تصادف تشخیص دهد.