اول سطح را درست بگذارید
log-level پنج حالت دارد: silent و error و warning و info و debug. برای کلاینتی که فقط روشن است، warning حالت استراحت منطقی است؛ خروجی فقط وقتی چیزی واقعا اشتباه باشد. برای دیدن اینکه هر اتصال کدام قانون را گرفته، موقتا به info بروید.
debug را برای بررسی فعال نگه دارید و بعدش خاموش کنید. سریعتر از خواندن هر کسی اسکرول میشود، و نگرانی عملیتر این است که هر دامنهای را که سر میزنید ثبت میکند — چیزی که بیشتر کلاینتها همزمان در فایل لاگ روی دیسک هم مینویسند.
یک خط چه چیزی دارد
در سطح info ارزشمندترین خطها خطهای اتصالاند: زمان، سطح، مقصد درخواست (نام میزبان یا IP با پورت)، نوع و الگوی قانونی که مطابقت کرده، و خروجیای که در نهایت استفاده شده. با کنار هم بودن این سه چیز، «چرا این سایت از مسیر اشتباه رفت» دیگر حدس نیست، چیزی است که از روی صفحه میخوانید.
خانواده دیگر خطهایی است که هسته درباره خودش میگوید: بارگذاری پیکربندی، شروع شنود، مقداردهی اولیه DNS، ساخته شدن رابط TUN. اینها در چند ثانیه اول جمع میشوند و بعد دیگر کم پیدا میشوند.
پرسش یک: کدام قانون این سایت را گرفت
log-levelرا رویinfoبگذارید و پیکربندی را دوباره بارگذاری کنید.- پنجره لاگ را پاک کنید و بقیه تبهای مرورگر را ببندید، وگرنه درخواستهای پسزمینه خطی را که دنبالش هستید دفن میکنند.
- فقط همان سایت مورد نظر را باز کنید، بعد خطهای تازه را بخوانید و نام میزبان را پیدا کنید.
- به قانونی که مطابقت کرده نگاه کنید. اگر آن قانونی نیست که خودتان نوشتهاید، یعنی چیزی بالاتر در فهرست زودتر مطابقت کرده؛ قوانین از بالا به پایین بررسی میشوند و اولین برخورد برنده است.
پرسش دو: کلاینت بالا نمیآید
فقط دهدوازده خط اول را بخوانید و نه بیشتر. خطای تحلیل پیکربندی همیشه در مرحله بارگذاری رخ میدهد و پیام معمولا نام فیلد مشکلدار و گاهی شماره خط را میآورد — مثلا یک ورودی proxy-groups که به نام گرهای اشاره میکند که وجود ندارد، یا فیلدی که نوعش اشتباه داده شده. آن خط را پیدا کنید و جای متناظرش را در پیکربندی درست کنید.
اگر به جای آن، خطهای اول میگویند شنودگر راه نیفتاد، پیکربندی سالم است و پورت اشغال شده. لاگ شماره پورت را میگوید، پس یا عوضش کنید یا پیدا کنید کدام پروسه آن را گرفته.
پرسش سه: مدام قطع میشود
اینجا یک خط نمیخوانید، دنبال الگوی تکرارشونده میگردید. عبارتهایی مثل timeout و EOF و connection reset و i/o timeout را جستجو کنید و بعد به یک پرسش جواب بدهید: روی یک گره متمرکزند یا در همه گرهها پخشاند؟ روی یک گره یعنی گره را عوض کنید و تمام. در همه گرهها یعنی مشکل به احتمال زیاد در شبکه محلی یا DNS شماست، نه در زنجیره پروکسی.