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

TPROXY در لینوکس می‌تواند ترافیک را بدون بازنویسی مقصد مانند DNAT رهگیری کند. بنابراین بسته‌هایی که به مقصد غیرمحلی نشانه رفته‌اند باید به سوکت محلی واجد شرایط برسند.

مسیر تحویل را دنبال کنید

  1. ترافیک از طریق رابط و خانوادهٔ نشانی مورد نظر به میزبان رهگیری می‌رسد.
  2. قاعدهٔ رهگیری و نشان بسته سیاست تحویل محلی را مشخص می‌کنند.
  3. یک قاعدهٔ سیاست منطبق مسیری را انتخاب می‌کند که بسته‌ها را محلی تحویل دهد.
  4. پراکسی از شنوندهٔ شفاف پشتیبانی‌شده با گزینهٔ سوکت لازم استفاده می‌کند.

مثال IPv4 کرنل به پشتیبانی برنامه برای IP_TRANSPARENT نیاز دارد. یک شنوندهٔ معمولی روی همان درگاه، یا تنظیم سراسری اتصال غیرمحلی، آن پشتیبانی را اثبات نمی‌کند.

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

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

بسته‌های بعدی را در نظر بگیرید

مثال کرنل شامل تطبیق سوکت و مسیر DIVERT است که بسته‌های سوکت‌های شفاف را نشانه‌گذاری می‌کند. حذف آن می‌تواند ترافیک بعدی را روی مسیر دیگری بگذارد، حتی وقتی رهگیری اولیه موفق می‌شود.

از حالت شفاف پشتیبانی‌شدهٔ برنامه و مستندات متناظر کرنل برای هر خانوادهٔ نشانی استفاده کنید. فرمان مسیر محلی IPv4، IPv6 را پیکربندی نمی‌کند و پشتیبانی در یک خانواده رفتار سوکت خانوادهٔ دیگر را اثبات نمی‌کند.

TPROXY مذاکرهٔ SOCKS هم تولید نمی‌کند. مؤلفهٔ تبدیل شفاف به SOCKS هنوز باید مقصد را کشف کند و با بالادست خود مذاکره کند.

گذار از REDIRECT

ثبت کنید که برنامهٔ موجود مقصد اصلی را چگونه به دست می‌آورد. REDIRECT مقصد را تغییر می‌دهد و به سازوکار بازیابی مناسب تکیه می‌کند؛ TPROXY به سوکت شفاف و ترتیب مسیریابی خود نیاز دارد. بر پایهٔ برنامه و سیاست نشانی مبدأ انتخاب کنید.

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

مقالات مرتبط