کمک‌کننده L2TP را با اشکال‌زدایی اجرا می‌کنید، به ترمینال نگاه می‌کنید و بدون هیچ چیز مفیدی روی صفحه متوقف می‌شود. این یک پرچم اشکال‌زدایی خراب نیست. اتصال NetworkManager L2TP چهار فرایند همکار است و فقط برخی از آن‌ها در ترمینالی که تماشا می‌کنید می‌نویسند. بقیه شواهد در ژورنال است، به فاصله یک فیلتر.

چهار فرایند، دو مقصد گزارش

اتصال با IPsec آغاز می‌شود که بسته به نصب libreswan یا strongSwan است. سپس دیمن L2TP، به‌طور سنتی xl2tpd و در برخی ساخت‌ها kl2tpd، تونل را اجرا می‌کند. در پایان pppd احراز هویت و نشانی‌دهی را درون آن بر عهده دارد.

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

این جداسازی همچنین توضیح می‌دهد که چرا خطای PSK و خطای گذرواژه از میزکار یکسان به نظر می‌رسند: هر دو یک قطع اتصال عمومی تولید می‌کنند، و مرحله‌ای که شکست خورده فقط در خروجی هر فرایند دیده می‌شود. این تمام دلیل اهمیت ژورنال در اینجا است. یک پیام عمومی روی میزکار، چهار نویسنده ممکن پشت آن.

یک تلاش را جمع کنید، سپس ترتیب را بخوانید

یک بار با نمایه‌ای شناخته‌شده و زمانی شناخته‌شده بازتولید کنید، سپس به‌جای کل بوت یک پنجره باریک را بخوانید. تکرار تلاش‌ها هنگام تغییر تنظیمات، گزارش را به مخلوطی تبدیل می‌کند که قابل تفسیر نیست.

این دستورها فرایندهای مشارکت‌کننده را برای بوت فعلی انتخاب می‌کنند، و ارزشش را دارد که مسیر افزونه را در توزیع خود تأیید کنید:

journalctl -b --no-hostname _COMM=nm-l2tp-service _COMM=pluto _COMM=charon _COMM=xl2tpd _COMM=pppd
rpm -ql NetworkManager-l2tp 2>/dev/null | grep nm-l2tp-service

فیلدهای تکراری در یک فراخوانی اجتماع آن فرایندها را انتخاب می‌کنند، که ترتیب را به ترتیب زمانی نگه می‌دارد. در سامانه‌ای مبتنی بر Debian پرس‌وجوی معادل dpkg -L است؛ نکته این است که پیش از اجرای دستی، پیدا کنید کمک‌کننده واقعاً کجا زندگی می‌کند.

سه شرط قدم بعدی را تعیین می‌کنند

نخستین مرحله شکست‌خورده را بخوانید، سپس بر همان اساس انتخاب کنید. اگر IPsec از شکست پیشنهاد یا احراز هویت طرف مقابل خبر دهد، تونل هرگز شکل نگرفته و تغییر گذرواژه PPP کمکی نمی‌کند.

اگر تونل شکل گرفته و pppd ورود را رد کرده باشد، راز مشترک از قبل درست بوده و مشکل اعتبارنامه یک لایه بالاتر است. اگر pppd روی نشانی مذاکره کرده و شکست بعداً ظاهر شود، هر دو کار می‌کنند و مشکل باقی‌مانده مسیریابی، DNS یا سیاست خود سرور است.

این سه شاخه تقریباً هر قطع اتصال عمومی را پوشش می‌دهند، و تصمیم آن با این است که کدام فرایند آخرین خطا را ثبت کرده، نه با این که کدام پیام خطا هولناک‌تر به نظر می‌رسد.

همچنین ارزش دارد پیش از دست زدن به تنظیمات اشکال‌زدایی تأیید کنید کدام بک‌اند IPsec نصب است. گزینه ثبت نوشته‌شده برای strongSwan وقتی libreswan در حال اجراست هیچ کاری نمی‌کند، و اتصال تا وقتی فایلی را ویرایش می‌کنید که هیچ‌کس نمی‌خواند، در همان نقطه شکست می‌خورد.

حالت اشکال‌زدایی فایل‌ها را جا می‌گذارد

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

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

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

سپس کمک‌کننده عادی را بازگردانید

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

سپس نتیجه را در لایه‌ای که شکست خورده بررسی کنید، نه روی نماد میزکار:

journalctl -b -u NetworkManager --since -10min | tail -30
ip -4 addr show ppp0
ip -4 route get 10.20.4.10

نشستی که احراز هویت می‌کند، نشانی می‌گیرد و به مقصد موردنظر مسیریابی می‌شود همان نتیجه‌ای است که در حال اشکال‌زدایی آن بودید. یک ترمینال خاموش در طول یک تلاش ناموفق فقط به شما می‌گوید کجا خروجی نوشته نشده است.

مقالات مرتبط