فیلتر

معرفی

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

دو روش برای تنظیم فیلتر وجود دارد:

  • به ترافیک خاصی اجازه دهید و هر چیز دیگری را رها کنید
  • فقط ترافیک مخرب را رها کنید، هر چیز دیگری مجاز است.

هر دو روش مزایا و معایبی دارند، به عنوان مثال، از نظر امنیتی، روش اول بسیار امن‌تر است، اما هر زمان که ترافیک سرویس جدید باید پذیرفته شود، به ورودی مدیر نیاز دارد. این استراتژی کنترل خوبی بر ترافیک فراهم می کند و احتمال رخنه به دلیل پیکربندی نادرست سرویس را کاهش می دهد.

از سوی دیگر، هنگام ایمن سازی شبکه مشتری، پذیرش تمام خدمات ممکنی که کاربران ممکن است استفاده کنند، یک کابوس اداری است. بنابراین برنامه ریزی دقیق فایروال در تنظیمات پیشرفته ضروری است.

یک فیلتر فایروال از سه زنجیره از پیش تعریف شده تشکیل شده است که نمی توان آنها را حذف کرد:

  • ورودی – برای پردازش بسته های وارد شده به روتر از طریق یکی از رابط ها با آدرس IP مقصد که یکی از آدرس های روتر است استفاده می شود. بسته هایی که از مسیریاب عبور می کنند برخلاف قوانین زنجیره ورودی پردازش نمی شوند
  • فوروارد – برای پردازش بسته های عبوری از روتر استفاده می شود
  • خروجی – برای پردازش بسته هایی استفاده می شود که از روتر منشا گرفته و آن را از طریق یکی از اینترفیس ها ترک می کنند. بسته هایی که از روتر عبور می کنند برخلاف قوانین زنجیره خروجی پردازش نمی شوند

هنگام پردازش یک زنجیره، قوانین به ترتیبی که در آنجا از بالا به پایین فهرست می شوند، از زنجیره گرفته می شوند. اگر بسته ای با معیارهای قانون مطابقت داشته باشد، عمل مشخص شده بر روی آن انجام می شود و هیچ قانون دیگری در آن زنجیره پردازش نمی شود (به استثنای عمل عبور است). اگر بسته ای با هیچ قانون در زنجیره داخلی مطابقت نداشته باشد، پذیرفته می شود. جزئیات بیشتر پردازش بسته در RouterOS در نمودار Packet Flow در RouterOS توضیح داده شده است .

IPv4

خواص

ویژگیشرح
action (action name; Default: accept)

اقدامی که باید در صورت مطابقت یک بسته با قانون انجام شود:

  • پذیرش  – پذیرش بسته. یک بسته به قانون فایروال بعدی منتقل نمی شود.
  • add-dst-to-address-list  – آدرس مقصد را به  لیست آدرس  که توسط پارامتر مشخص شده است اضافه کنید address-list 
  • add-src-to-address-list  – آدرس منبع را به  لیست آدرس  که توسط پارامتر مشخص شده است اضافه کنید address-list 
  • drop  – بی صدا بسته را رها کنید
  • fasttrack-connection  – پردازش بسته‌ها از یک اتصال با استفاده از FastPath با فعال کردن FastTrack برای اتصال  
  • پرش  – پرش به زنجیره تعریف شده توسط کاربر که با مقدار پارامتر مشخص شده است jump-target 
  • log  – یک پیام به گزارش سیستم اضافه کنید که حاوی داده های زیر است: in-interface، out-interface، src-mac، protocol، src-ip:port->dst-ip:port و طول بسته. پس از تطبیق یک بسته، به قانون بعدی در لیست منتقل می شود، مانند passthrough
  • عبور  – اگر بسته ای با قانون مطابقت داشت، شمارنده را افزایش دهید و به قانون بعدی بروید (برای آمار مفید است)
  • رد کردن  – بسته را رها کنید و یک پیام رد ICMP ارسال کنید. این عمل به مشخصات پاسخ ICMP اجازه می دهد، مانند: منع یا غیرقابل دسترسی admin/host/network/port
  • بازگشت  – کنترل را به زنجیره ای که از آنجا پرش انجام شده است منتقل می کند
  • tarpit  – اتصالات TCP را می گیرد و نگه می دارد (با SYN/ACK به بسته TCP SYN ورودی پاسخ می دهد)
address-list-timeout (none-dynamic | none-static | time; Default: none-dynamic)

فاصله زمانی که پس از آن آدرس از لیست آدرس مشخص شده توسط پارامتر حذف می شود. در ارتباط با یا اعمال استفاده می شود address-list  add-dst-to-address-list  add-src-to-address-list 

  • مقدار  none-dynamic  ( 00:00:00) آدرس را تا راه اندازی مجدد در لیست آدرس باقی می گذارد
  • مقدار  none-static  آدرس را برای همیشه در لیست آدرس باقی می‌گذارد و در پیکربندی صادرات/پشتیبان‌گیری گنجانده می‌شود.
chain (name; Default: )مشخص می کند که به کدام قانون زنجیره ای اضافه شود. اگر ورودی با نام یک زنجیره از قبل تعریف شده مطابقت نداشته باشد، یک زنجیره جدید ایجاد می شود
comment (string; Default: )نظر توصیفی برای قانون
connection-bytes (integer-integer; Default: )بسته ها را فقط در صورتی مطابقت می دهد که مقدار معینی از بایت از طریق اتصال خاص منتقل شده باشد. 0 – به معنای بی نهایت است، برای مثال به این معنی است که اگر بیش از 2 مگابایت از طریق اتصال مربوطه منتقل شده باشد، قانون مطابقت دارد. connection-bytes=2000000-0 
connection-limit (integer,netmask; Default: )اتصالات را در هر آدرس یا بلوک آدرس پس از رسیدن به یک مقدار مشخص مطابقت می دهد. باید همراه با connection-state=new و/یا با tcp-flags=syn استفاده شود زیرا تطبیق بسیار به منابع نیاز دارد.
connection-mark (no-mark | string; Default: )بسته های علامت گذاری شده از طریق تسهیلات مانگل را با علامت اتصال خاص مطابقت می دهد. اگر بدون علامت تنظیم شود، این قانون با هر اتصال بدون علامت مطابقت دارد  
connection-nat-state (srcnat | dstnat; Default: )می تواند اتصالاتی را که دچار اختلال، حواس پرتی یا هر دو هستند مطابقت دهد. توجه داشته باشید که connection-state=related connections connection-nat-state با جهت اولین بسته تعیین می شود. و اگر ردیابی اتصال نیاز به استفاده از dst-nat برای ارائه این اتصال به همان هاست اتصال اصلی داشته باشد، حتی اگر قوانین dst-nat وجود نداشته باشد، در connection-nat-state=dstnat خواهد بود.
connection-rate (Integer 0..4294967295; Default: )نرخ اتصال یک تطبیق فایروال است که امکان ثبت ترافیک را بر اساس سرعت فعلی اتصال فراهم می کند
connection-state (established | invalid | new | related | untracked; Default: )

داده های تجزیه و تحلیل ردیابی اتصال را برای یک بسته خاص تفسیر می کند:

  • ایجاد شده  – بسته ای که به یک اتصال موجود تعلق دارد
  • نامعتبر  – بسته ای که وضعیت مشخصی در ردیابی اتصال ندارد (معمولاً – بسته های خارج از نظم شدید، بسته هایی با ترتیب اشتباه/عدد تأیید یا در صورت مصرف بیش از حد منبع در روتر)، به همین دلیل، یک بسته نامعتبر در NAT شرکت نمی کند (همانطور که فقط بسته های Connect-state=new انجام می دهند)، و همچنان حاوی آدرس IP منبع اصلی در هنگام مسیریابی خواهد بود. ما قویاً پیشنهاد می‌کنیم که تمام بسته‌های Connection-state=invalid را در فیلتر فایروال به جلو و زنجیره‌های ورودی حذف کنید.
  • جدید  – بسته یک اتصال جدید را شروع کرده است، یا در غیر این صورت با اتصالی مرتبط است که بسته هایی را در هر دو جهت ندیده است.
  • مرتبط  – بسته ای که به یک اتصال موجود مرتبط است، اما نه بخش هایی از آن، مانند خطاهای ICMP یا بسته ای که اتصال داده FTP را آغاز می کند.
  • یک  بسته ردیابی نشده که برای دور زدن ردیابی اتصال در جداول RAW فایروال تنظیم شده است .  
connection-type (ftp | h323 | irc | pptp | quake3 | sip | tftp; Default: )بسته‌های اتصالات مرتبط را بر اساس اطلاعات دستیاران ردیابی اتصال آنها مطابقت می‌دهد. یک کمک کننده اتصال مربوطه باید در زیر : /ip firewall service-port فعال شود
content (string; Default: )بسته هایی را که حاوی متن مشخص شده اند مطابقت دهید
dscp (integer: 0..63; Default: )با فیلد سرصفحه IP DSCP مطابقت دارد.
dst-address (IP/netmask | IP range; Default: )بسته هایی را مطابقت می دهد که مقصد آنها برابر با IP مشخص شده است یا در محدوده IP مشخص قرار می گیرد.
dst-address-list (name; Default: )آدرس مقصد یک بسته را با  لیست آدرس تعریف شده توسط کاربر مطابقت می دهد.
dst-address-type (unicast | local | broadcast | multicast )

مطابق با نوع آدرس مقصد:

  • unicast  – آدرس IP مورد استفاده برای انتقال نقطه به نقطه
  • local  – اگر dst-address به یکی از رابط های روتر اختصاص داده شده باشد
  • پخش  – بسته به تمام دستگاه های یک زیر شبکه ارسال می شود
  • چندپخشی  – بسته به گروه مشخصی از دستگاه ها ارسال می شود
dst-limit (integer[/time],integer,dst-address | dst-port | src-address[/time]; Default: )

بسته ها را تا زمانی که از یک نرخ معین تجاوز کند مطابقت می دهد. نرخ به عنوان بسته ها در بازه زمانی تعریف می شود. برخلاف تطبیق  حد  ، هر جریانی حد خاص خود را دارد. جریان با یک پارامتر حالت تعریف می شود. پارامترها به فرمت زیر نوشته می شوند: .  rate[/time],burst,mode[/expire]

  • نرخ  – تعداد بسته ها در بازه زمانی در هر جریان برای مطابقت
  • زمان  – بازه زمانی را مشخص می کند که در آن نمی توان از نرخ شمارش بسته در هر جریان فراتر رفت (اختیاری، اگر مشخص نشده باشد از 1 ثانیه استفاده می شود)
  • انفجار  – تعداد اولیه بسته ها در هر جریان برای مطابقت: این تعداد هر / تا این تعداد یک بار شارژ می شود timerate
  • حالت  – این پارامتر مشخص می کند که چه فیلدهای منحصر به فردی جریان را تعریف می کند (src-address، dst-address، src-and-dst-address، dst-address-and-port، addresss-and-dst-port)
  • انقضا  – فاصله زمانی را مشخص می کند که پس از آن جریان بدون بسته اجازه حذف خواهد داشت (اختیاری)
dst-port (integer[-integer]: 0..65535; Default: )فهرست شماره پورت مقصد یا محدوده شماره پورت
fragment (yes|no; Default: )بسته های تکه تکه شده را مطابقت می دهد. قطعه اول (شروع) به حساب نمی آید. اگر ردیابی اتصال فعال باشد، هیچ قطعه ای وجود نخواهد داشت زیرا سیستم به طور خودکار هر بسته را جمع آوری می کند
hotspot (auth | from-client | http | local-dst | to-client; Default: )

بسته های منطبق دریافتی از مشتریان HotSpot در برابر تطبیق دهنده های مختلف HotSpot.

  • auth  – با بسته های مشتری HotSpot احراز هویت شده مطابقت دارد
  • from-client  – بسته هایی را که از مشتری HotSpot می آیند مطابقت می دهد
  • http  – با درخواست های HTTP ارسال شده به سرور HotSpot مطابقت دارد
  • local-dst  – بسته هایی را که به سرور HotSpot ارسال می شوند مطابقت می دهد
  • to-client  – بسته هایی را که به سرویس گیرنده HotSpot ارسال می شوند مطابقت می دهد
icmp-options (integer:integer; Default: )مطابق با نوع ICMP: فیلدهای کد
in-bridge-port (name; Default: )واسط واقعی بسته وارد روتر شده است اگر رابط ورودی یک پل باشد. فقط در صورتی کار می کند که use-ip-firewall در تنظیمات پل فعال باشد.  
in-bridge-port-list (name; Default: )مجموعه ای از رابط های تعریف شده در  لیست رابط. مانند  درون پل پورت کار می کند
in-interface (name; Default: )رابط بسته وارد روتر شده است
in-interface-list (name; Default: )مجموعه ای از رابط های تعریف شده در  لیست رابط. مانند  درون رابط کار می کند
ingress-priority (integer: 0..63; Default: )با اولویت یک بسته ورودی مطابقت دارد. اولویت ممکن است از بیت VLAN، WMM، DSCP یا MPLS EXP گرفته شود. ادامه مطلب 
ipsec-policy (in | out, ipsec | none; Default: )

با خط مشی استفاده شده توسط IPsec مطابقت دارد. مقدار در قالب زیر نوشته شده است: . جهت برای انتخاب مطابقت با خط مشی مورد استفاده برای کپسولاسیون یا خط مشی مورد استفاده برای کپسولاسیون استفاده می شود.  direction, policy

  • در  – در زنجیره های PREROUTING، INPUT و FORWARD معتبر است
  • خارج  – در زنجیره های POSTROUTING، OUTPUT و FORWARD معتبر است
  • ipsec  – اگر بسته تحت پردازش IPsec باشد مطابقت دارد.
  • هیچکدام  – با بسته ای که تحت پردازش IPsec نیست مطابقت دارد (به عنوان مثال، بسته انتقال IPSec).

به عنوان مثال، اگر یک روتر یک بسته Gre کپسوله شده IPsec دریافت کند، قانون با بسته Gre مطابقت دارد، اما یک قانون با بسته ESP مطابقت دارد. ipsec-policy=in,ipsec  ipsec-policy=in,none 

ipv4-options (any |
loose-source-routing | no-record-route | no-router-alert |
no-source-routing | no-timestamp | none | record-route | router-alert |
strict-source-routing | timestamp
; Default: )

با گزینه های سرصفحه IPv4 مطابقت دارد.

  • هر  – بسته ای را با حداقل یکی از گزینه های ipv4 مطابقت دهید
  • مسیریابی منبع آزاد  – بسته ها را با گزینه مسیریابی منبع آزاد مطابقت دهید. این گزینه برای مسیریابی دیتاگرام اینترنتی بر اساس اطلاعات ارائه شده توسط منبع استفاده می شود
  • مسیر بدون رکورد  – بسته‌ها را با گزینه مسیر بدون رکورد مطابقت دهید. این گزینه برای مسیریابی دیتاگرام اینترنتی بر اساس اطلاعات ارائه شده توسط منبع استفاده می شود
  • no-router-alert  – بسته ها را بدون گزینه تغییر مسیریاب مطابقت دهید
  • بدون منبع مسیریابی  – بسته ها را بدون گزینه مسیریابی منبع مطابقت دهید
  • بدون مهر زمان  – بسته‌های مطابقت بدون گزینه مهر زمانی
  • رکورد مسیر  – بسته ها را با گزینه مسیر رکورد مطابقت دهید
  • router-alert  – بسته ها را با گزینه تغییر مسیریاب مطابقت دهید
  • مسیریابی منبع سخت  – بسته ها را با گزینه مسیریابی منبع دقیق مطابقت دهید
  • برچسب زمانی  – بسته ها را با مهر زمانی مطابقت دهید
jump-target (name; Default: )نام زنجیره هدف برای پرش. قابل اجرا فقط اگر action=jump
layer7-protocol (name; Default: )نام فیلتر Layer7 در  منوی پروتکل لایه7 تعریف شده است.
limit (integer,time,integer; Default: )

بسته ها را تا یک نرخ محدود (نرخ بسته یا نرخ بیت) مطابقت می دهد. قاعده ای که از این تطبیق استفاده می کند تا رسیدن به این حد مطابقت دارد. پارامترها به فرمت زیر نوشته می شوند: . rate[/time],burst:mode

  • نرخ  – تعداد بسته یا بیت در هر بازه زمانی برای مطابقت
  • زمان  – بازه زمانی را مشخص می کند که در آن نمی توان از بسته یا نرخ بیت تجاوز کرد (اختیاری، اگر مشخص نشده باشد از 1 استفاده می شود)
  • انفجار  – تعداد اولیه بسته ها یا بیت ها برای مطابقت: این تعداد هر 10 میلی ثانیه شارژ می شود، بنابراین انفجار باید حداقل 1/100 از نرخ در ثانیه باشد.
  • حالت  – حالت بسته یا بیت
log (yes | no; Default: no)پیامی را به گزارش سیستم اضافه کنید که حاوی داده های زیر است: in-interface، out-interface، src-mac، protocol، src-ip:port->dst-ip:port و طول بسته.
log-prefix (string; Default: )متن مشخص شده را در ابتدای هر پیام گزارش اضافه می کند. قابل اجرا در صورت پیکربندی action=log یا log=yes
nth (integer,integer; Default: )با هر بسته n مطابقت دارد: قانون nth=2,1 با اولین بسته 2 مطابقت دارد، بنابراین، 50٪ از کل ترافیکی که با قانون مطابقت دارد
out-bridge-port (name; Default: )واسط واقعی بسته از روتر خارج می شود اگر رابط خروجی یک پل باشد. فقط در صورتی کار می کند که use-ip-firewall در تنظیمات پل فعال باشد.  
out-bridge-port-list (name; Default: )مجموعه ای از رابط های تعریف شده در  لیست رابط. مانند  out-bridge-port کار می کند
out-interface (; Default: )رابط بسته در حال خروج از روتر
out-interface-list (name; Default: )مجموعه ای از رابط های تعریف شده در  لیست رابط. مانند  رابط خارجی کار می کند
packet-mark (no-mark | string; Default: )بسته های علامت گذاری شده از طریق تسهیلات mangle را با علامت بسته خاص مطابقت می دهد. اگر بدون علامت تنظیم شود، این قانون با هر بسته بدون علامت مطابقت دارد.  
packet-size (integer[-integer]:0..65535; Default: )بسته هایی را با اندازه یا محدوده اندازه مشخص در بایت مطابقت می دهد.
per-connection-classifier (ValuesToHash:Denominator/Remainder; Default: )تطبیق PCC اجازه می دهد تا ترافیک را به جریان های مساوی با قابلیت نگهداری بسته ها با مجموعه ای خاص از گزینه ها در یک جریان خاص تقسیم کنید. ادامه مطلب >> 
port (integer[-integer]: 0..65535; Default: )در صورتی که هر یک از پورت ها (منبع یا مقصد) با لیست مشخص شده پورت ها یا محدوده پورت مطابقت داشته باشد مطابقت دارد. فقط اگر TCP یا UDP باشد قابل اجرا است protocol 
priority (integer: 0..63; Default:)با اولویت بسته پس از تعیین اولویت جدید مطابقت دارد. اولویت ممکن است از بیت VLAN، WMM، DSCP، MPLS EXP یا از اولویتی که با استفاده از اقدام  اولویت تنظیم تنظیم شده است، مشتق شود  . ادامه مطلب 
protocol (name or protocol ID; Default: tcp)با پروتکل IP خاصی که با نام یا شماره پروتکل مشخص شده است مطابقت دارد
psd (integer,time,integer,integer; Default: )

تلاش برای شناسایی اسکن TCP و UDP. پارامترها در قالب زیر هستند WeightThreshold, DelayThreshold, LowPortWeight, HighPortWeight

  • WeightThreshold  – وزن کل آخرین بسته‌های TCP/UDP با پورت‌های مقصد مختلف که از یک میزبان می‌آیند تا به عنوان دنباله اسکن پورت در نظر گرفته شوند.
  • DelayThreshold  – تأخیر برای بسته هایی با پورت های مقصد مختلف که از یک میزبان می آیند تا به عنوان دنباله اسکن پورت ممکن در نظر گرفته شوند.
  • LowPortWeight  – وزن بسته های دارای پورت مقصد ممتاز (<1024).
  • HighPortWeight  – وزن بسته با پورت مقصد غیرمجاز
random (integer: 1..99; Default: )بسته ها را به طور تصادفی با یک احتمال معین مطابقت می دهد
reject-with (icmp-admin-prohibited |
icmp-net-prohibited | icmp-protocol-unreachable | icmp-host-prohibited |
icmp-network-unreachable | tcp-reset | icmp-host-unreachable |
icmp-port-unreachable
; Default: icmp-network-unreachable)

خطای ICMP را مشخص می کند که در صورت رد شدن بسته بازگردانده شود. قابل اجرا اگر action=reject

routing-table (string; Default: )بسته هایی را که آدرس مقصد در جدول مسیریابی مشخصی حل شده است مطابقت می دهد.
routing-mark (string; Default: )بسته های مشخص شده توسط تسهیلات مانگل را با علامت مسیریابی خاص مطابقت می دهد
src-address (Ip/Netmask, Ip range; Default: )بسته هایی را مطابقت می دهد که منبع برابر با IP مشخص شده است یا در محدوده IP مشخص قرار می گیرد
src-address-list (name; Default: ) آدرس منبع یک بسته را با لیست آدرس های تعریف شده توسط کاربر مطابقت می دهد
src-address-type (unicast | local | broadcast | multicast | blackhole | prohibit | unreachable ; Default: )

mote{ta{tableMatches نوع آدرس منبع:

  • unicast  – آدرس IP مورد استفاده برای انتقال نقطه به نقطه
  • محلی  – اگر آدرسی به یکی از رابط های روتر اختصاص داده شود
  • پخش  – بسته به تمام دستگاه های زیر شبکه ارسال می شود
  • چندپخشی  – بسته به گروه مشخصی از دستگاه ها ارسال می شود
src-port (integer[-integer]: 0..65535; Default: )لیست پورت های منبع و محدوده پورت های منبع. فقط اگر پروتکل TCP یا UDP باشد قابل اجرا است
src-mac-address (MAC address; Default: )آدرس MAC منبع بسته را مطابقت می دهد
tcp-flags (ack | cwr | ece | fin | psh | rst | syn | urg; Default: )

با پرچم های TCP مشخص شده مطابقت دارد

  • ack  – تایید داده ها
  • cwr  – پنجره ازدحام کاهش یافته است
  • ece  – پرچم ECN-echo (اعلان صریح تراکم)
  • باله  – اتصال نزدیک
  • psh  – تابع فشار
  • rst  – اتصال را رها کنید
  • syn  – اتصال جدید
  • urg  – داده های فوری
tcp-mss (integer[-integer]: 0..65535; Default: )با مقدار TCP MSS یک بسته IP مطابقت دارد
time (time-time,sat | fri | thu | wed | tue | mon | sun; Default: )امکان ایجاد فیلتری بر اساس زمان و تاریخ رسیدن بسته ها یا برای بسته های تولید شده محلی، زمان و تاریخ خروج
tls-host (string; Default: )

به ترافیک HTTPS مطابق با نام میزبان TLS SNI اجازه می دهد. دستور GLOB را برای تطبیق حروف عام می پذیرد . توجه داشته باشید که تطبیق دهنده نمی تواند با نام میزبان مطابقت داشته باشد اگر قاب دست دادن TLS به چند بخش TCP (بسته) تقسیم شود. ویدیوی ما را در مورد این ارزش تماشا کنید .   

ttl (integer: 0..255; Default: )با ارزش TTL بسته ها مطابقت دارد

آمار

برای نمایش خصوصیات فقط خواندنی اضافی :

/آمار چاپ فیلتر فایروال ip
ویژگیشرح
bytes (integer)تعداد کل بایت های مطابق با قانون
packets (integer)تعداد کل بسته های مطابق با قانون
 
				
					[admin@MikroTik] > ip firewall filter print stats 
Flags: X - disabled, I - invalid, D - dynamic 
 #    CHAIN                                                                                                                 ACTION                            BYTES         PACKETS
 0  D ;;; special dummy rule to show fasttrack counters
      forward                                                                                                               passthrough              50 507 925 242      50 048 246
 1    ;;; defconf: drop invalid
      forward                                                                                                               drop                            432 270           9 719
 2    ;;; defconf: drop invalid
      input                                                                                                                 drop                            125 943           2 434
 3    input                                                                                                                 accept                   20 090 211 549      20 009 864
 4    ;;; defconf: accept ICMP
      input                                                                                                                 accept                          634 926           7 648
 5    ;;; defconf: drop all not coming from LAN
      input                                                                                                                 drop                          4 288 079          83 428
 6    ;;; defconf: accept in ipsec policy
      forward                                                                                                               accept                                0               0
7    ;;; defconf: accept out ipsec policy
      forward                                                                                                               accept                                0               0
8    ;;; defconf: fasttrack
      forward                                                                                                               fasttrack-connection     28 505 528 775      31 504 682
9    ;;; defconf: accept established,related, untracked
      forward                                                                                                               accept                   28 505 528 775      31 504 682
10    ;;; defconf: drop all from WAN not DSTNATed
      forward                                                                                                               drop                                  0               0
				
			

IPv6

/ipv6/firewall/filter

خواص

ویژگی

شرح

action (accept | add-dst-to-address-list | …; Default: accept)

اقدامی که باید در صورت مطابقت یک بسته با قانون انجام شود:

  • قبول  – بسته را بپذیر. به قانون فایروال بعدی منتقل نمی شود.
  • add-dst-to-address-list  – آدرس مقصد را به لیست آدرس مشخص شده توسط پارامتر اضافه کنید   address-list 
  • add-src-to-address-list  – آدرس منبع را به لیست آدرس های مشخص شده توسط پارامتر اضافه کنید   address-list 
  • drop  -بی‌صدا بسته را رها کنید.
  • پرش  – پرش به زنجیره تعریف شده توسط کاربر که با مقدار  یک  پارامتر مشخص شده است jump-target
  • log  – یک پیام به گزارش سیستم اضافه کنید که حاوی داده های زیر است: درون رابط، رابط خارجی، src-mac، پروتکل، src-ip:port->dst-ip:port و طول بسته. پس از تطبیق یک بسته، به قانون بعدی در لیست منتقل می شود، مشابه passthrough
  • عبور  – این قانون را نادیده بگیرید و به قانون بعدی بروید (برای آمار مفید است).
  • رد کردن  – بسته را رها کنید و یک پیام رد ICMP ارسال کنید
  • بازگشت  – کنترل را به زنجیره ای که پرش از آنجا انجام شد، برمی گرداند.
address-list-timeout (none-dynamic | none-static | time; Default: none-dynamic)

فاصله زمانی که پس از آن آدرس از لیست آدرس مشخص شده توسط پارامتر حذف می شود. در ارتباط با یا اعمال استفاده می شود address-list  add-dst-to-address-list  add-src-to-address-list 

  • مقدار  none-dynamic  ( 00:00:00) آدرس را تا راه اندازی مجدد در لیست آدرس باقی می گذارد
  • مقدار  none-static  آدرس را برای همیشه در لیست آدرس باقی می‌گذارد و در پیکربندی صادرات/پشتیبان‌گیری گنجانده می‌شود.
chain (name; Default: )مشخص می کند که به کدام قانون زنجیره ای اضافه شود. اگر ورودی با نام یک زنجیره از قبل تعریف شده مطابقت نداشته باشد، یک زنجیره جدید ایجاد می شود
comment (string; Default: )نظر توصیفی برای قانون
connection-bytes (integer-integer; Default: )بسته ها را فقط در صورتی مطابقت می دهد که مقدار معینی از بایت از طریق اتصال خاص منتقل شده باشد. 0 – به معنای بی نهایت است، برای مثال به این معنی است که اگر بیش از 2 مگابایت از طریق اتصال مربوطه منتقل شده باشد، قانون مطابقت دارد. connection-bytes=2000000-0 
connection-limit (integer,netmask; Default: )اتصالات را در هر آدرس یا بلوک آدرس پس از رسیدن به یک مقدار مشخص مطابقت می دهد. باید همراه با connection-state=new و/یا با tcp-flags=syn استفاده شود زیرا تطبیق بسیار به منابع نیاز دارد.
connection-mark (no-mark | string; Default: )بسته های علامت گذاری شده از طریق تسهیلات مانگل را با علامت اتصال خاص مطابقت می دهد. اگر بدون علامت تنظیم شود، این قانون با هر اتصال بدون علامت مطابقت دارد  
connection-rate (Integer 0..4294967295; Default: )نرخ اتصال یک تطبیق فایروال است که امکان ثبت ترافیک را بر اساس سرعت فعلی اتصال فراهم می کند
connection-state (established | invalid | new | related | untracked; Default: )

داده های تجزیه و تحلیل ردیابی اتصال را برای یک بسته خاص تفسیر می کند:

  • ایجاد شده  – بسته ای که به یک اتصال موجود تعلق دارد
  • نامعتبر  – بسته ای که وضعیت مشخصی در ردیابی اتصال ندارد (معمولاً – بسته های خارج از نظم شدید، بسته هایی با ترتیب اشتباه/عدد تأیید یا در صورت مصرف بیش از حد منبع در روتر)، به همین دلیل، یک بسته نامعتبر در NAT شرکت نمی کند (همانطور که فقط بسته های Connect-state=new انجام می دهند)، و همچنان حاوی آدرس IP منبع اصلی در هنگام مسیریابی خواهد بود. ما قویاً پیشنهاد می‌کنیم که تمام بسته‌های Connection-state=invalid را در فیلتر فایروال به جلو و زنجیره‌های ورودی حذف کنید.  
  • جدید  – بسته یک اتصال جدید را شروع کرده است، یا در غیر این صورت با اتصالی مرتبط است که بسته هایی را در هر دو جهت ندیده است.
  • مرتبط  – بسته ای که به یک اتصال موجود مرتبط است، اما نه بخش هایی از آن، مانند خطاهای ICMP یا بسته ای که اتصال داده FTP را آغاز می کند.
  • یک  بسته ردیابی نشده که برای دور زدن ردیابی اتصال در جداول RAW فایروال تنظیم شده است .  
connection-type (ftp | h323 | irc | pptp | quake3 | sip | tftp; Default: )بسته‌های اتصالات مرتبط را بر اساس اطلاعات دستیاران ردیابی اتصال آنها مطابقت می‌دهد.  یک کمک کننده اتصال مربوطه باید در زیر :  /ip firewall service-port فعال شود
content (string; Default: )بسته هایی را که حاوی متن مشخص شده اند مطابقت دهید
dscp (integer: 0..63; Default: )با فیلد سرصفحه IP DSCP مطابقت دارد.
dst-address (IP/netmask | IP range; Default: )بسته هایی را مطابقت می دهد که مقصد آنها برابر با IP مشخص شده است یا در محدوده IP مشخص قرار می گیرد.
dst-address-list (name; Default: )آدرس مقصد یک بسته را با لیست آدرس های تعریف شده توسط کاربر مطابقت می دهد .
dst-address-type (unicast | local | broadcast | multicast; Default: )

مطابق با نوع آدرس مقصد:

  • unicast  – آدرس IP مورد استفاده برای انتقال نقطه به نقطه
  • local  – اگر dst-address به یکی از رابط های روتر اختصاص داده شده باشد
  • پخش  – بسته به تمام دستگاه های یک زیر شبکه ارسال می شود
  • چندپخشی  – بسته به گروه مشخصی از دستگاه ها ارسال می شود
dst-limit (integer[/time],integer,dst-address | dst-port | src-address[/time]; Default: )

بسته ها را تا زمانی که از یک نرخ معین تجاوز کند مطابقت می دهد. نرخ به عنوان بسته ها در بازه زمانی تعریف می شود. برخلاف تطبیق  حد  ، هر جریانی حد خاص خود را دارد. جریان با یک پارامتر حالت تعریف می شود. پارامترها به فرمت زیر نوشته می شوند: .  rate[/time],burst,mode[/expire]

  • نرخ  – تعداد بسته ها در بازه زمانی در هر جریان برای مطابقت
  • زمان  – بازه زمانی را مشخص می کند که در آن نمی توان از نرخ شمارش بسته در هر جریان فراتر رفت (اختیاری، اگر مشخص نشده باشد از 1 ثانیه استفاده می شود)
  • انفجار  – تعداد اولیه بسته ها در هر جریان برای مطابقت: این تعداد هر / تا این تعداد یک بار شارژ می شود timerate
  • حالت  – این پارامتر مشخص می کند که چه فیلدهای منحصر به فردی جریان را تعریف می کند (src-address، dst-address، src-and-dst-address، dst-address-and-port، addresss-and-dst-port)
  • انقضا  – فاصله زمانی را مشخص می کند که پس از آن جریان بدون بسته اجازه حذف خواهد داشت (اختیاری)
dst-port (integer[-integer]: 0..65535; Default: )فهرست شماره پورت مقصد یا محدوده شماره پورت
icmp-options (integer:integer; Default: )مطابق با نوع ICMP: فیلدهای کد
in-bridge-port (name; Default: )واسط واقعی بسته وارد روتر شده است اگر رابط ورودی یک پل باشد. فقط در صورتی کار می کند که use-ip-firewall در تنظیمات پل فعال باشد.  
in-bridge-port-list (name; Default: )مجموعه ای از رابط های تعریف شده در  لیست رابط. مانند  درون پل پورت کار می کند
in-interface (name; Default: )رابط بسته وارد روتر شده است
in-interface-list (name; Default: )مجموعه ای از رابط های تعریف شده در  لیست رابط. مانند  درون رابط کار می کند
ingress-priority (integer: 0..63; Default: )با اولویت یک بسته ورودی مطابقت دارد. اولویت ممکن است از بیت VLAN، WMM، DSCP یا MPLS EXP گرفته شود. 
ipsec-policy (in | out, ipsec | none; Default: )

با خط مشی استفاده شده توسط IPsec مطابقت دارد. مقدار در قالب زیر نوشته شده است: . جهت برای انتخاب مطابقت با خط مشی مورد استفاده برای کپسولاسیون یا خط مشی مورد استفاده برای کپسولاسیون استفاده می شود.  direction, policy

  • در  – در زنجیره های PREROUTING، INPUT و FORWARD معتبر است
  • خارج  – در زنجیره های POSTROUTING، OUTPUT و FORWARD معتبر است
  • ipsec  – اگر بسته تحت پردازش IPsec باشد مطابقت دارد.
  • هیچکدام  – با بسته ای که تحت پردازش IPsec نیست مطابقت دارد (به عنوان مثال، بسته انتقال IPSec).

به عنوان مثال، اگر یک روتر یک بسته Gre کپسوله شده IPsec دریافت کند، قانون با بسته Gre مطابقت دارد، اما یک قانون با بسته ESP مطابقت دارد. ipsec-policy=in,ipsec  ipsec-policy=in,none 

jump-target (name; Default: )نام زنجیره هدف برای پرش. قابل اجرا فقط اگر action=jump
limit (integer,time,integer; Default: )

بسته ها را تا یک نرخ محدود (نرخ بسته یا نرخ بیت) مطابقت می دهد. قاعده ای که از این تطبیق استفاده می کند تا رسیدن به این حد مطابقت دارد. پارامترها به فرمت زیر نوشته می شوند: .  rate[/time],burst:mode

  • نرخ  – تعداد بسته یا بیت در هر بازه زمانی برای مطابقت
  • زمان  – بازه زمانی را مشخص می کند که در آن نمی توان از بسته یا نرخ بیت تجاوز کرد (اختیاری، اگر مشخص نشده باشد از 1 استفاده می شود)
  • انفجار  – تعداد اولیه بسته ها یا بیت ها برای مطابقت: این تعداد هر 10 میلی ثانیه شارژ می شود، بنابراین انفجار باید حداقل 1/100 از نرخ در ثانیه باشد.
  • حالت  – حالت بسته یا بیت
log (yes | no; Default: no)پیامی را به گزارش سیستم اضافه کنید که حاوی داده های زیر است: in-interface، out-interface، src-mac، protocol، src-ip:port->dst-ip:port و طول بسته.
log-prefix (string; Default: )متن مشخص شده را در ابتدای هر پیام گزارش اضافه می کند. قابل اجرا در صورت پیکربندی action=log یا log=yes .    
nth (integer,integer; Default: )با هر بسته n مطابقت دارد: قانون nth=2,1 با اولین بسته 2 مطابقت دارد، بنابراین، 50٪ از کل ترافیکی که با قانون مطابقت دارد  
out-bridge-port (name; Default: )واسط واقعی بسته از روتر خارج می شود اگر رابط خروجی یک پل باشد. فقط در صورتی کار می کند که use-ip-firewall در تنظیمات پل فعال باشد.  
out-bridge-port-list (name; Default: )مجموعه ای از رابط های تعریف شده در  لیست رابط. مانند  out-bridge-port کار می کند
out-interface (; Default: )رابط بسته در حال خروج از روتر
out-interface-list (name; Default: )مجموعه ای از رابط های تعریف شده در  لیست رابط. مانند  رابط خارجی کار می کند
packet-mark (no-mark | string; Default: )بسته های علامت گذاری شده از طریق تسهیلات mangle را با علامت بسته خاص مطابقت می دهد. اگر بدون علامت تنظیم شود، این قانون با هر بسته بدون علامت مطابقت دارد.  
packet-size (integer[-integer]:0..65535; Default: )بسته هایی را با اندازه یا محدوده اندازه مشخص در بایت مطابقت می دهد.
per-connection-classifier (ValuesToHash:Denominator/Remainder; Default: )تطبیق PCC اجازه می دهد تا ترافیک را به جریان های مساوی با قابلیت نگهداری بسته ها با مجموعه ای خاص از گزینه ها در یک جریان خاص تقسیم کنید. 
port (integer[-integer]: 0..65535; Default: )در صورتی که هر یک از پورت ها (منبع یا مقصد) با لیست مشخص شده پورت ها یا محدوده پورت مطابقت داشته باشد مطابقت دارد. فقط اگر TCP یا UDP باشد قابل اجرا است protocol 
priority (integer: 0..63; Default:)با اولویت بسته پس از تعیین اولویت جدید مطابقت دارد. اولویت ممکن است از بیت VLAN، WMM، DSCP، MPLS EXP یا از اولویتی که با استفاده از اقدام  اولویت تنظیم تنظیم شده است، مشتق شود  . 
protocol (name or protocol ID; Default: tcp)با پروتکل IP خاصی که با نام یا شماره پروتکل مشخص شده است مطابقت دارد
random (integer: 1..99; Default: )بسته ها را به طور تصادفی با یک احتمال معین مطابقت می دهد
reject-with (icmp-address-unreachable | icmp-admin-prohibited | icmp-no-route | icmp-not-neighbour | icmp-port-unreachable | tcp-reset ; Default: icmp-no-route)

خطای ICMP را مشخص می کند که در صورت رد شدن بسته بازگردانده شود. قابل اجرا اگر action=reject

  • icmp-address-unreachable: آدرس ICMP را پیام غیرقابل دسترسی می فرستد 
  • icmp-admin-prohibited: پیام ممنوعه آدرس ICMP را ارسال می کند 
  • icmp-no-route: آدرس ICMP پیام بدون مسیر را ارسال می کند 
  • icmp-not-neighbour: آدرس ICMP را پیام غیر عضو ارسال می کند 
  • icmp-port-unreachable: پیام غیرقابل دسترس پورت ICMP را ارسال می کند 
  • tcp-reset: ICMP را برای تنظیم مجدد اتصال TCP ارسال می کند
routing-mark (string; Default: )بسته های مشخص شده توسط تسهیلات مانگل را با علامت مسیریابی خاص مطابقت می دهد
src-address (Ip/Netmask, Ip range; Default: )بسته هایی را مطابقت می دهد که منبع آنها برابر با IP مشخص شده است یا در محدوده IP مشخص قرار می گیرد
src-address-list (name; Default: ) آدرس منبع یک بسته را با لیست آدرس های تعریف شده توسط کاربر مطابقت می دهد
src-address-type (unicast | local | broadcast | multicast; Default: )

مطابق با نوع آدرس منبع:

  • unicast  – آدرس IP مورد استفاده برای انتقال نقطه به نقطه
  • محلی  – اگر آدرسی به یکی از رابط های روتر اختصاص داده شود
  • پخش  – بسته به تمام دستگاه های زیر شبکه ارسال می شود
  • چندپخشی  – بسته به گروه مشخصی از دستگاه ها ارسال می شود
src-port (integer[-integer]: 0..65535; Default: )لیست پورت های منبع و محدوده پورت های منبع. فقط اگر پروتکل TCP یا UDP باشد قابل اجرا است
src-mac-address (MAC address; Default: )آدرس MAC منبع بسته را مطابقت می دهد
tcp-flags (ack | cwr | ece | fin | psh | rst | syn | urg; Default: )

با پرچم های TCP مشخص شده مطابقت دارد

  • ack  – تایید داده ها
  • cwr  – پنجره ازدحام کاهش یافته است
  • ece  – پرچم ECN-echo (اعلان صریح تراکم)
  • باله  – اتصال نزدیک
  • psh  – تابع فشار
  • rst  – اتصال را رها کنید
  • syn  – اتصال جدید
  • urg  – داده های فوری
tcp-mss (integer[-integer]: 0..65535; Default: )با مقدار TCP MSS یک بسته IP مطابقت دارد
time (time-time,sat | fri | thu | wed | tue | mon | sun; Default: )امکان ایجاد فیلتری بر اساس زمان و تاریخ رسیدن بسته ها یا برای بسته های تولید شده محلی، زمان و تاریخ خروج
tls-host (string; Default: )به ترافیک HTTPS مطابق با نام میزبان TLS SNI اجازه می دهد. دستور GLOB را برای تطبیق حروف عام می پذیرد . توجه داشته باشید که تطبیق دهنده نمی تواند با نام میزبان مطابقت داشته باشد اگر قاب دست دادن TLS به چند بخش TCP (بسته) تقسیم شود.  

آمار

/ipv6/firewall/filter/print/stats

برای نمایش خصوصیات فقط خواندنی اضافی :  

ویژگی

شرح

bytes (integer)تعداد کل بایت های مطابق با قانون
packets (integer)تعداد کل بسته های مطابق با قانون

مثال

نمونه ای از نحوه ایمن سازی صحیح دستگاه خود را می توانید در مقاله ساختن اولین فایروال ما بیابید !