TGViewer
TKC TKC @things_to_know_channel · 830 subscribers
Post #443 424
#network_time

‏🤔 فایروال‌ها چطوری می‌فهمن یه packet باید اجازه عبور داشته باشه یا نه؟

‏تا حالا شده فکر کنی وقتی یه فایروال یا ابزار NAT روی یه لینوکس اجرا می‌شه، چطوری می‌تونه وسط مسیر یه packet رو بگیره، تغییرش بده یا اصلاً جلوی رفتنش رو بگیره؟ این کار از طریق مکانیزمی توی kernel به اسم Netfilter hooks انجام می‌شه که در واقع نقاط حساس و مشخصی توی مسیر حرکت یه packet هستن.

‏وقتی یه packet از کارت شبکه وارد سیستم می‌شه، kernel اون رو پردازش می‌کنه، اما در مراحل مختلف، مثل لحظه‌ای که تازه وارد شده یا درست قبل از اینکه از سیستم خارج بشه، این مکانیزم اجازه می‌ده که ما یه rule خاص رو اونجا اجرا کنیم. این ۵ تا نقطه اصلی شامل مرحله‌ی prerouting برای تغییر آدرس قبل از routing، مرحله‌ی input برای packetهایی که مستقیم به خود سیستم می‌رسن، مرحله‌ی forward برای packetهایی که فقط دارن از سیستم عبور می‌کنن، مرحله‌ی output برای packetهایی که خود سیستم تولید کرده، و مرحله‌ی postrouting برای اعمال تغییراتی مثل NAT دقیقاً قبل از خروج از interface هستن. در واقع در هر کدوم از این hookها، kernel مسیر پردازش رو موقتاً متوقف می‌کنه تا ببینه آیا باید اون packet رو drop کنه یا اجازه بده به مرحله بعد بره.

‏این ساختار دقیق همون چیزیه که ابزارهای مدیریت فایروال ازش استفاده می‌کنن تا بتونن کنترل کاملی روی ترافیک داشته باشن. بدون این hookها، نوشتن یه فایروال یا سیستم NAT خیلی سخت می‌شد چون دیگه نمی‌تونستیم بدون دستکاری خودِ kernel، دقیقاً مشخص کنیم که در چه مرحله‌ای از پردازش IP، چه تغییری باید روی header یا مقصد packet اعمال بشه.

‏❓ تا حالا شده موقع تنظیم فایروال با مشکلی برخورد کنین که نتونین بفهمین packet دقیقاً توی کدوم مرحله از این hooks drop شده؟ تجربه‌تون رو برامون تو کامنتا بنویسین.

@things_to_know_channel
  • ❤ 6
  • 🔥 1
More from @things_to_know_channel
  1. Oct 3, 2026#network_time ‏🌐 چرا یه سرور شلوغ یهو نمی‌تونه connection جدید برقرار کنه؟ ‏تا حا…
  2. Oct 2, 2026#network_time ‏🧐 وقتی می‌دونیم IP طرف چیه، سیستم چطور می‌فهمه باید packet رو دقیقاً ب…
  3. Oct 1, 2026#linux_time ‏🤝 چطور میشه روی یه راز مشترک توافق کرد، وقتی همه دارن گوش می‌دن؟ ‏تا…
  4. Sep 24, 2026#linux_time ‏💿 dd — کپی سطح پایین دیسک ‏در ادامه چند تا مثال کاربردی ازش میبینیم:…
  5. Sep 23, 2026#linux_time ‏🤝 دو تا سیستم چطور توافق می‌کنن که ترتیب packetها رو گم نکنن؟ ‏تا حا…
  6. Sep 22, 2026📌 systemctl Cheat Sheet اگر با Linux Server و DevOps سر و کار دارید، systemctl یکی از دست…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →