فیلترهای فانوس دریایی Nebula در برابر دیوار آتش: هرکدام چه چیزی را مسدود میکند
فهرستهای مجاز فانوس دریایی تعیین میکنند یک همتا کدام نقاط پایانی لایه زیرین را اعلام یا امتحان میکند. قواعد دیوار آتش ترافیک درون لایه رویی را پس از دستدادن اداره میکنند.
یک دستدادن Nebula را از سمت اشتباه ببینید تا دو سازوکار قابل جانشینی به نظر برسند. یکی تعیین میکند که یک گره کدام نشانیها را به فانوس دریایی اعلام میکند و کدام نشانیهای دور را امتحان خواهد کرد؛ دیگری تعیین میکند پس از وجود تونل چه چیزی میتواند بگذرد. یک فیلتر میتواند اتصال را پیش از ارزیابی هر قاعده دیوار آتش متوقف کند، و یک قاعده دیوار آتش نمیتواند نقطه پایانی را که کشف حذف کرده احیا کند. دو لایه به پرسشهای متفاوتی پاسخ میدهند و ترتیبی که در آن عمل میکنند کلید ماجراست.
یک اتصال را از چهار مرحله دنبال کنید: نشانی محلی اعلامشده، نقطه پایانی دور بررسیشده، دستدادن و ترافیک در لایه رویی. هر مرحله پیکربندی خود و اثر شکست خود را دارد.
از نشانی محلی که گره اعلام میکند آغاز کنید
local_allow_list نشانیهای محلی این میزبان را پیش از گزارش به فانوسهای دریایی فیلتر میکند. ورودیها میتوانند بازههای نشانی باشند و پیکربندی الگوهای نام واسط را نیز پشتیبانی میکند. این زمانی سودمند است که میزبان پلهای کانتینر یا واسطهای تونل اضافی دارد که نباید نقطه پایانی همتا شوند.
واسطهای میزبان را مرور کنید و بپرسید یک همتای دور واقعاً به کدامها میرسد. نشانی پل Docker برای آن میزبان محلی و برای همتایی در شبکه دیگر بیفایده است. اعلام آن کشف را هدر میدهد و میتواند همتایی را به نشانی بفرستد که هرگز پاسخ نمیدهد. هر چیزی که همتا نتواند به آن مسیریابی کند نویز در پاسخ فانوس دریایی است.
یک فهرست مجاز باریک اینجا از یک فهرست مسدود گسترده ایمنتر است. اگر تنها ورودیهای مجاز وجود داشته باشند، باقیمانده نامشخص کنار گذاشته میشود؛ افزودن یک ورودی مسدود در ادامه منطق پیشفرض را تغییر میدهد و بازبینی جداگانه میخواهد. آن تغییر نیازمند نگاهی دوباره به پیشفرض است.
سپس انتخاب نقطه پایانی دور را ببینید
remote_allow_list نشانیهایی را فیلتر میکند که این میزبان در طول دستدادن برای یک همتای دور در نظر میگیرد. بر نشانی لایه زیرین اعمال میشود، نه بر نشانی لایه رویی که همتا پس از برپا شدن تونل به کار میبرد.
یک بازه خصوصی میتواند در شبکه دفتر مشترک کاملاً کارآمد و وقتی دو میزبان در شبکههای نامرتبطی باشند که هر دو از 10.0.0.0/8 استفاده میکنند بیمعنا شود. فیلتر به شما اجازه میدهد مسیر قابل مسیریابی را ترجیح دهید و تصادف را نادیده بگیرید.
وقتی همتایی نمیتواند متصل شود، نشانی در حال آزمایش را با قاعدهای که با آن مطابقت دارد مقایسه کنید. گزارشهای دستدادن را فعال کنید و نشانی دور انتخابشده را بخوانید؛ خط گزارش نقطه پایانی را نام میبرد که از فیلتر جان به در برده است و این از فهرست نشانیهایی که همتا دارد سودمندتر است.
فیلتر نام واسط در سمت اعلام میتواند نقطه پایانی را پیش از آنکه سمت گیرنده آن را ببیند حذف کند. وقتی تنها یک جهت شکست میخورد هر دو گره را بررسی کنید.
پس از دستدادن، قواعد دسترسی لایه رویی اعمال میشوند
قواعد دیوار آتش Nebula درون لایه رویی و پس از برقراری تونل کار میکنند. آنها میزبانها، گروهها، درگاهها و پروتکلها را تطبیق میدهند و تعیین میکنند که یک بسته میتواند به میزبان محلی وارد شود یا از آن خارج شود. آنها نقطه پایانی در لایه زیرین انتخاب نمیکنند.
این جداسازی یک تشخیص نادرست رایج را توضیح میدهد. یک اپراتور قاعدهای برای یک درگاه به دیوار آتش میافزاید و باز هم نمیتواند متصل شود، چون فیلتر فانوس دریایی تنها نقطه پایانی قابل دسترس را حذف کرده است. اپراتور دیگری فیلتر نشانی را باز میکند و باز هم به سرویس نمیرسد، چون دیوار آتش لایه رویی درگاه را رد میکند.
شکست را در لایه درست بخوانید. دستدادنی که هرگز کامل نمیشود به کشف، فیلتر نقطه پایانی یا مسیر شبکه اشاره دارد. دستدادن کاملشده که به اتصال سرویسی ردشده یا دورانداختهشده میانجامد به دیوار آتش لایه رویی یا برنامه اشاره دارد.
وقتی مجاز و مسدود را میآمیزید پیشفرض را بخوانید
پیکربندی فانوس دریایی فهرستهای فقط-مجاز، فقط-مسدود و آمیخته را پشتیبانی میکند و پیشفرض برای باقیمانده نامشخص میان این شکلها تفاوت دارد. فهرست آمیخته به پیشفرض صریح برای خانواده نشانی نیاز دارد؛ فرض اینکه باقیمانده مانند پیکربندی پیشین رفتار میکند همان راهی است که یک نقطه پایانی کارآمد آرام ناپدید میشود.
lighthouse:
local_allow_list:
interfaces:
docker0: false
remote_allow_list:
192.168.0.0/16: true
default: false
با پیشفرض به عنوان بخشی از قاعده رفتار کنید، نه به عنوان متن قالبی. اگر پیشفرض خانواده مسدود باشد، هر نشانی که فهرست نشده باشد کنار گذاشته میشود، از جمله بازه دفتر جدیدی که پس از نوشتن پیکربندی افزوده شده است.
ثبت کنید کدام نشانیها باید قابل دسترس میبودند و از هر دو سو آزمایش کنید. فیلتری که برای یک جفت همتا کار میکند میتواند برای جفت دیگری شکست بخورد که تنها مسیر مشترکش نشانیای را به کار میبرد که فهرست کنار میگذارد.
وقتی هیچ نقطه پایانی مستقیمی قابل دسترس نیست از relay استفاده کنید
اگر هر نقطه پایانی نامزد فیلتر شود یا دستنیافتنی باشد، پاسخ فهرست مجاز گستردهتری نیست که نشانیهایی را که به آنها اعتماد ندارید دوباره بپذیرد. پیکربندی relay در Nebula وقتی اتصال مستقیم عملی نیست مسیر جایگزینی برای همتا فراهم میکند.
Relay ترابری و کشف را حل میکند، نه مجوزدهی را، و دیوار آتش را گسترده نمیکند. دیوار آتش لایه رویی همچنان تعیین میکند کدام سرویسها میتوانند استفاده شوند، و relay فیلتر فانوس دریایی را به سازوکار کنترل دسترسی تبدیل نمیکند.
مسیر relay را با نقطههای پایانی مستقیم خاموش آزمایش کنید و تأیید کنید که سرویس موردنظر همچنان کار میکند و سرویس ناخواسته کار نمیکند. همان یک آزمون، اصلاح ترابری را از تغییر سیاست جدا میکند و دو لایه را صادق نگه میدارد.