5.4 فایروال
فیلتر بسته و هر چه پیرامون آن است: قواعد، ترجمه نشانی، نامهایی که با آنها قاعده مینویسید، شکلدهی ترافیک، و صفحههایی که نشان میدهند فیلتر واقعاً چه میکند.
Rules — /firewall-rules

مجموعه قواعد، به ترتیبی که فایروال ارزیابیشان میکند. قواعد همانطور گروهبندی میشوند که pf اعمالشان میکند: اول قواعد floating (قواعد روی چند رابط، یا روی هیچکدام)، سپس قواعد روی یک interface group، سپس قواعد روی یک interface تنها؛ درون یک گروه شماره ترتیب تصمیم میگیرد، و اولین قاعده تطبیقیافته برنده است — هیچچیز زیر یک تطبیق بررسی نمیشود. انتخابگر بالا فهرست را به یک رابط (شامل قواعد گروهی که آن را پوشش میدهند)، به قواعد floating محدود میکند، یا همهچیز را نشان میدهد.

| فیلد | معنی |
|---|---|
| Enabled | خاموش قاعده را در فهرست بدون اعمال نگه میدارد؛ به صورت توضیح در مجموعه قواعد نوشته میشود. راه امن آزمودن اینکه آیا قاعدهای علت چیزی است. |
| Sequence | ترتیب ارزیابی میان قواعد همنوع، کمتر اول. جابهجایی قاعده با دکمه پیکان دوباره شمارهگذاری میکند. |
| Action | Pass ترافیک را عبور میدهد، Block بیصدا میاندازد، Reject میاندازد و به فرستنده میگوید. Reject درون شبکه خودتان (شکست سریعتر برای کاربران)؛ block به سمت اینترنت (به اسکنر چیزی نمیگوید). |
| Interface | قاعده کجا اعمال میشود؛ گروه رابط هم قابل انتخاب است. چند رابط قاعده را floating میکند. قواعد روی رابطی ارزیابی میشوند که ترافیک از آن وارد میشود. |
| Direction | معمولاً in — ترافیکی که روی آن رابط میرسد. |
| Version | IPv4، IPv6، یا هر دو. مجموعه قواعدی که روی شبکه دوپشتهای فقط IPv4 را پوشش میدهد اشتباهی رایج و بیصداست. |
| Protocol | any، TCP، UDP، TCP/UDP، ICMP و هر پروتکل دیگری که pf میشناسد، از یک فهرست. |
| Source / Source Port | چه کسی فرستاده. any، شبکه یا نشانی یک رابط، یک alias، یا میزبان یا شبکه به شکل CIDR. |
| Destination / Destination Port | به کجا میرود، همان قالبها. |
| Gateway | ترافیک تطبیقیافته را به جای جدول مسیریابی از گیتوی یا گروه گیتوی مشخصی بیرون بفرست — این مسیریابی مبتنی بر سیاست است، و راه هدایت یک بخش روی آپلینک دوم. |
فیلدهای بیشتر (زیر Show advanced) لاگگیری، زمانبندی، دستهها، مدیریت وضعیت، محدودیت نرخ، شکلدهی ترافیک و برچسبگذاری بسته را پوشش میدهند.
هر قاعده هنگام ذخیره در برابر آنچه خود pf میپذیرد بررسی میشود: پروتکل ناشناخته، نوع ICMP روی قاعده غیر ICMP، گیتوی با خانواده نشانی اشتباه، پورت روی پروتکلی که ندارد، فهرست وارونه. رد شدن زیر فیلد ظاهر میشود. این مهم است چون pf مجموعه قواعد را یکجا بار میکند: یک قاعده که نتواند تجزیه کند هر تغییری را از اثر کردن بازمیدارد.
قواعد کلاسیک. پیکربندیای از نسخه قبلی، یا واردشده از فایروال دیگر، ممکن است قواعدی در قالب قدیمیتر حمل کند. همچنان اعمال میشوند و فقطخواندنی فهرست میشوند، با علامت classic، با بنری که پیشنهاد مهاجرت میدهد. مهاجرت هر قاعده را پس از همان بررسیها به این مجموعه قواعد تبدیل میکند؛ قاعدهای که بررسیها رد کنند با دلیلش سر جایش میماند، پس هیچچیز نیمهراه گم نمیشود.
مجموعه قواعد را همانطور بخوانید که فایروال میخواند. ترافیک جایی فیلتر میشود که وارد میشود: قاعدهای که به LAN اجازه رسیدن به اینترنت میدهد به رابط LAN تعلق دارد، نه WAN. پاسخ خودش بازمیگردد، چون فیلتر وضعیت نگه میدارد.
مجموعه قواعد کارخانه LAN را بیرون میفرستد و ترافیک ناخواستهای را که از WAN میرسد مسدود میکند. این پیشفرض کارآمدی است؛ به جای جایگزینی به آن بیفزایید، و قاعده ضد قفل شدن را نگه دارید تا مطمئن شوید راه دیگری برای ورود دارید.
Aliases — /m/firewall/alias

نامهایی برای چیزهایی که قواعد به آنها ارجاع میدهند: گروهی از میزبانها، مجموعهای از شبکهها، فهرستی از پورتها، جدول URL که خودش تازه میشود، یک کشور، یا فهرست MAC. قواعد را در برابر WEB_SERVERS بنویسید نه سه نشانی، و روزی که سرور چهارم ظاهر شد alias را تغییر میدهید، نه چهار قاعده را.

aliasها به جدولهای واقعی فایروال حل میشوند؛ محتوا را میتوان زنده در Firewall → Diagnostics → Aliases بررسی کرد.
Categories — /m/firewall/category

برچسبهای رنگی برای قواعد. روی مجموعهای با دوازده قاعده تزئیناند؛ روی صد قاعده راه پیدا کردن پنج تایی هستند که به یک پروژه تعلق دارند.

Groups — /m/firewall/ifgroups

گروه رابط به یک قاعده اجازه میدهد همزمان به چند رابط اعمال شود — سیاست مهمان را یک بار بنویسید و به هر VLAN مهمان متصل کنید. گروه روی اعضایش به یک گروه رابط کرنل تبدیل میشود (در ifconfig به صورت groups: دیده میشود)، در فهرست رابطهای دیالوگهای قاعده ظاهر میشود، و قواعدش سطل خودشان را در صفحه Rules تشکیل میدهند، ارزیابیشده پس از قواعد floating و پیش از قواعد هر رابط. نام گروه تا 15 حرف، رقم یا زیرخط است و نباید با رقم تمام شود.
NAT
ترجمه نشانی، تقسیمشده به چهار نوع به جای پنهان شدن در یک صفحه.
Source NAT — /nat/source_nat

ترجمه خروجی: کدام نشانیهای داخلی در راه خروج به کدام نشانی بیرونی بازنویسی میشوند. دستگاه این قواعد را برای راهاندازی عادی خودکار تولید میکند، و این صفحه جایی است که وقتی «عادی» کافی نیست کنترل را به دست میگیرید — نشانی عمومی دوم برای یک بخش، یا نشانی مبدأ مشخص برای یک تونل VPN.
Destination NAT — /nat/d_nat

Port forwarding: ترافیکی که روی نشانی و پورت مشخصی به دستگاه میرسد به میزبانی در داخل هدایت میشود. این راه انتشار یک سرور است.

رابطی که ترافیک روی آن میرسد، پروتکل، نشانی و پورت مقصد آنطور که از بیرون دیده میشود، و هدف و پورت داخلی را بدهید. قاعده فایروال متناظر میتواند همراهش ساخته شود — forward بدون قاعدهای که ترافیک را مجاز کند هیچ کاری نمیکند، و این رایجترین دلیل «کار نکردن» یک port forward است.
انتشار سرویسی به کل اینترنت یک تصمیم است، نه یک گام. هر جا میتوانید مبدأ را محدود کنید، و موارد استفاده → انتشار یک سرور را بخوانید.
One-to-One NAT — /nat/one_to_one

یک نشانی بیرونی کامل را به یک نشانی داخلی کامل نگاشت میکند، در هر دو جهت. وقتی استفاده میشود که سروری به جای نشانی اشتراکی با پورتهای forwardشده به نشانی عمومی خودش نیاز دارد.
NPTv6 — /nat/npt

ترجمه پیشوند شبکه برای IPv6: یک پیشوند را بدون دست زدن به بخش میزبان به پیشوند دیگری بازنویسی میکند. پاسخ IPv6 به شمارهگذاری مجدد، جایی که NAT کلاسیک نه لازم است و نه مطلوب.
Settings
Advanced — /system-firewall

تنظیم خود فیلتر بسته: حدود جدول وضعیت، سیاست بهینهسازی و مهلت، مدیریت قطعهها، و اینکه فیلتر برای ترافیک خاصی دور زده شود یا نه.
این تنظیمات رفتار هر قاعده را تغییر میدهند. پیشفرضها برای تقریباً هر دستگاهی درستاند؛ وقتی تغییرشان دهید که اندازهگیریای این را بگوید، و آنچه تغییر دادید را یادداشت کنید.
Normalization — /legacy?p=filter/scrub/rule

قواعد scrub: بازسازی قطعهها، محدود کردن حداکثر اندازه سگمنت، و نرمالسازی ترافیک پیش از آنکه مجموعه قواعد آن را ببیند. دلیل معمول آمدن به اینجا محدود کردن MSS برای تونلی است که بستههای بزرگ در آن ناپدید میشوند.
Schedules — /firewall-schedules

بازههای زمانی نامداری که قاعده میتواند به آنها متصل شود — «ساعات اداری»، «آخر هفته». قاعدهای با زمانبندی فقط درون آن فعال است.

یک زمانبندی چند بازه زمانی نگه میدارد، پس «دوشنبه تا جمعه 08:00–18:00 بهعلاوه صبح شنبه» یک زمانبندی است، نه سه تا.
Log Files
Live View — /fwlog/live

بستهها همانطور که فیلتر لاگشان میکند، پیوسته بهروزشونده، با قاعدهای که تطبیق کرد. این صفحهای است که هنگام آزمودن یک قاعده باز نگه میدارید. بر اساس رابط، نشانی یا پورت فیلترش کنید تا نویز کم شود.
Overview — /fwlog/overview

همان داده تجمیعشده: کدام قواعد بیشتر تطبیق کردند، چه چیزی بیشتر مسدود شد. برای یافتن قاعدهای که بسیار بیشتر از انتظارتان فعال میشود خوب است.
General / Plain View — /log/core/firewall، /log/core/filter

لاگ متنی فیلتر. Plain View فایل خام است، همان که در تیکت پشتیبانی کپی میکنید.
Diagnostics
States — /fwdiag/states

هر اتصالی که فیلتر همین حالا ردیابی میکند، قابل جستوجو، با گزینه کشتن یکی. کشتن یک وضعیت راه وادار کردن نشستی گیرکرده به برقراری دوباره پس از تغییر قاعده است — اتصالهای موجود زیر قاعدهای که پذیرفتشان به جریان ادامه میدهند.
Sessions — /fwdiag/sessions

شلوغترین اتصالها همین حالا، مرتبشده بر اساس ترافیک — نمای «چه کسی خط را مصرف میکند».
Statistics — /fwdiag/statistics

شمارندههای خود فیلتر: وضعیتهای در استفاده در برابر حد، بستههای عبوری و مسدودشده، حافظه. شمار وضعیتی نزدیک به حد، اتصالهایی را که زیر بار شکست میخورند توضیح میدهد.
Aliases — /firewall-aliases

هر alias همین حالا چه دارد، آنطور که فایروال میبیند. alias جدول URL که تازه شدنش شکست خورده اینجا به صورت جدولی خالی یا کهنه ظاهر میشود، که در غیر این صورت شبیه قاعدهای به طرز مرموزی بیاثر است.
Shaper

شکلدهی ترافیک در سه بخش، پیکربندیشده به این ترتیب:
- Pipes —
/m/trafficshaper/trafficshaper#pipes— یک حد پهنای باند. لوله عرض لوله است. - Queues —
#queues— سهمها درون یک لوله، وزندار، تا یک کلاس ترافیک زیر رقابت به دیگری راه بدهد. - Rules —
#rules— کدام ترافیک به کدام لوله یا صف میرود.


Status — /shaper-stats

لولهها و صفهای زنده با شمارندههایشان — اثبات اینکه شکلدهی در حال رخ دادن است، و جایی که میبینید صفی بسته میاندازد.