می‌خواهید بدانید یک کلاینت متصل به کدام مقصدها می‌رسد، پس پوسته‌ای روی سرور VPN باز می‌کنید و ss را تایپ می‌کنید. چیز مفیدی ظاهر نمی‌شود و نتیجه‌گیری اینکه تونل خراب است کمی زیادی آسان به دست می‌آید. دروازه OpenVPN مسیریابی، بسته‌های کلاینت را جلو می‌فرستد؛ اتصال‌های TCP آن‌ها را پایان نمی‌دهد و سوکتی برای آن‌ها ندارد. شواهد جای دیگری زندگی می‌کند و اینکه کجا، بستگی دارد به اینکه ترافیک پس از خروج از تونل چگونه مدیریت می‌شود.

تصمیم بگیرید به کدام چیدمان نگاه می‌کنید

دو شکل رایج شواهد کاملاً متفاوتی تولید می‌کنند. دروازه مسیریاب، کپسول‌گشایی می‌کند، جلو می‌فرستد و شاید NAT مبدأ انجام دهد، پس اتصال کلاینت بدون سوکت محلی از سر تا ته ادامه می‌یابد.

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

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

نخست نشانی را به یک نشست گره بزنید

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

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

ip -4 addr show dev tun0
journalctl -u [email protected] --since '-10 min' | tail -n 40

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

جدول جریان را روی دروازه مسیریابی بخوانید

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

sudo conntrack -L -p tcp -f ipv4 --orig-src 10.8.0.37

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

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

یک ضبط محدود برای تأیید خواندن

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

sudo tcpdump -ni tun0 -nn -c 50 'host 10.8.0.37 and tcp'

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

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

گزارش‌های پروکسی و مرزهای آنچه دیدید

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

پیکربندی ثبت نسخه مستقر را بررسی کنید، به‌جای اینکه فرض کنید هر درخواست به‌طور پیش‌فرض ثبت می‌شود.

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

مقالات مرتبط