Port Guard
os-portguard · الحماية
يحظر جهازًا بعنوان MAC الخاص به عند الجدار الناري - وهو الجزء الأول من قواعد الطبقة الثانية لمنافذ الجدار الناري.
في القائمة
- مع تثبيت os-xgs-npu: XGS: Port Guard
- من دون os-xgs-npu: Firewall: Port Guard

الأجهزة المحظورة قائمة من عناوين MAC، كلٌّ منها عنوان كامل أو أول ثلاثة إلى خمسة بايتات منه - أي كل أجهزة صانع واحد. وتحتفظ الإضافة من القائمة باسم مستعار واحد من نوع MAC هو portguard_blocked؛ ويحوّله OPNsense إلى عناوين IPv4 وIPv6 التي رأت جداولُ ARP وNDP لديه، أو اكتشافُ المضيفين (host discovery)، كلَّ جهاز يستعملها، ويُبقيها محدَّثة.
تسجّل الإضافةُ القواعدَ عند كل إعادة تحميل للمرشِّح: فلا يعبر الجدارَ الناري شيءٌ من جهاز مُدرَج، على أيّ واجهة، ولا يصل إليه شيء عبر الجدار الناري. وتأتي قبل قواعد الواجهات، بما فيها قاعدة منع الإقفال (anti-lockout)، ولا تُضاف أبدًا إلى قواعد المالك نفسه. ولا يُحظر شيء حتى يُدرَج جهاز ويُطبَّق.
لا يتيح OPNsense لأيّ إضافة تسجيل قواعد Ethernet، فما زال جهازان خلف المبدّل (switch) نفسه يصل أحدهما إلى الآخر - إذ لا تصل إطاراتهما إلى الجدار الناري أصلًا - ولا يمكن بعدُ المطابقة بنوع الإطار. وعلى جهاز Sophos XGS، الهدف قواعد تُحفظ في مبدّل المنافذ الأمامية، فيُوقَف الجهاز المحظور عند المنفذ؛ ولم تُكتب بعد.
الميزات
-
بالعنوان أو بالصانع
عنوان MAC كامل، أو أول ثلاثة إلى خمسة بايتات منه لكل أجهزة صانع واحد.
-
اسم مستعار واحد من نوع MAC
portguard_blocked، الذي يحوّله OPNsense إلى عناوين IPv4 وIPv6 التي استعملها كل جهاز، ويُبقيها محدَّثة.
-
قواعد قبل غيرها
تُسجَّل عند كل إعادة تحميل للمرشِّح، على كل واجهة، قبل قواعد الواجهات وقاعدة منع الإقفال؛ ولا تُكتب أبدًا في قواعد المالك.
-
الأجهزة المرصودة
الأجهزة التي رآها الجدار الناري خلال اليوم الماضي، مع واجهتها وعنوانها وصانعها، وكلٌّ منها على بُعد نقرة من الحظر؛ وتنبّه الصفحة أولًا إلى أنه قد يكون الجهاز المستعمَل الآن.
-
بطاقات الملخّص
كم جهازًا مُدرَجًا حاضر، وكم عنوانًا يحظره pf الآن، والحزم المحظورة، والأجهزة المرصودة.
التثبيت والتحديث
ابتداءً من إصدار os-xgs-npu الذي يلي 0.1.0-alpha.7.1، تظهر الإضافة في تبويب Plugins في XGS: Updates - فتُحدَّث النسخة المثبّتة منها هناك يدويًّا، وتُثبَّت منه حيث لا توجد - وتحملها الصور الجاهزة المبنية من ذلك الإصدار؛ وحتى ذلك الحين تُثبَّت وتُحدَّث كما يلي. ولا يُشغِّل أيّ مُدخَل cron التحديث. ولتثبيتها على جهاز XGS أو على أيّ OPNsense آخر، بصلاحيات root: من نسخة مستنسخة من المستودع بالأمر sh install/install.sh، الذي يضع الصفحة تحت XGS مع os-xgs-npu وتحت Firewall من دونه، ويحفظ الإعدادات إذا أُعيد تشغيله؛ أو من حزمة الإصدار os-portguard-1.0.0.pkg، بعد التحقّق منها بـ SHA256SUMS، وإضافتها بـ pkg. والنسخة المثبّتة بهذه الطريقة تُحدَّث بسكربتها self-update.py. وإزالة الإضافة تُخرج قواعدها من pf؛ ويبقى الاسم المستعار portguard_blocked في Firewall: Aliases دون أن يحظر شيئًا. والإضافة ليست في مستودع إضافات OPNsense.
الحدود، وما لم يُختبر بعد
- كتابة الاسم المستعار من الصفحة (apply.php، الذي يحفظ config.xml).
- حظر جهاز عبرها.
- لم يُكتب بعد: الحظر بين جهازين خلف المبدّل نفسه، والمطابقة بنوع الإطار (EtherType)، والقواعد المحفوظة في مبدّل جهاز Sophos XGS.
- الجهاز الذي يغيّر عنوان MAC الخاص به، كما في عناوين Wi-Fi الخاصّة، لا يُحظر إلا تحت العنوان المُدرَج.
- الحزمة، التي يبنيها tools/make-package.sh وتُضاف بـ pkg.
- التثبيت على OPNsense من دون os-xgs-npu.
- التحديث عبر تبويب Plugins أو self-update.py: الإصدار 1.0.0 هو الأول، فلم يسبق أيُّ إصدار نسخةً مثبّتة.
المستودع
أول إصدار: 2026-10-25