كيفية استخدام أسماء المضيفين في قواعد جدار الحماية في سيرفر الميكروتك

اخر تحديث في مايو 27, 2023 بواسطة حمدي بانجار

كيفية استخدام أسماء المضيفين في قواعد جدار الحماية في سيرفر الميكروتك

المشكلة :

كنت ترغب في إنشاء قواعد تصفية لجدار الحماية والتي ستشير إلى أسماء المضيف ( host names ) بدلاً من عناوين IP.

قد يكون سبب هذا ، على سبيل المثال ، أن اسم المضيف ديناميكي مثلا سوف يتم إنشاؤه بواسطة خدمة dyndns.

لعدة أسباب وجيهة جداً ، لا يمكن وضع أسماء المضيفين مباشرة في قواعد جدار الحماية.

كيفية استخدام أسماء المضيفين في قواعد جدار الحماية في سيرفر الميكروتك

على سبيل المثال ، لا يمكن عمل التالي:

/ip firewall filter add chain=ouput dst-address=www.mikrotik.com action=accept

في حين يبدو للوهلة الأولى فكرة جيدة للسماح بهذا التكوين ، وحركة المرور الإضافية والحمل الذي سيتم إنشاؤه إذا كان على الراوتر المعالجة (في هذه الحالة) “www.mikrotik.com” لكل رزمة واحدة تمر عبرة سيظهر في الواقع وببساطة انه غير عملي.

الحل :-

ملاحظة: تنطبق فقط على إصدارات RouterOS حتى الإصدار v6.36.

من الممكن تطبيق قواعد جدار الحماية على أساس اسم المضيف مع تفكير جانبي صغير. إذا اعتبر المرء أن قرارات DNS يتم تخزينها مؤقتًا (من الناحية النظرية لوقت قصير مثل TTL في السجل ، ولكن في الواقع لمقدار الوقت المسموح به من مسؤول النظام المحلل) ، فهناك نقطة قليلة جدًا في حل اسم المضيف لكل حزمة واحدة .

لهذا السبب ، يمكننا بسهولة كتابة برنامج نصي يقوم بحل وتخزين القيم في مكان ما يمكن استخدامها من قبل قواعد التصفية. يمكن تشغيل هذا البرنامج النصي بشكل منتظم كما هو مطلوب.

أفضل مكان لتخزين أسماء المضيفات وعناوين IP المرتبطة بها هو قائمة العناوين لأن هذا يسمح باستخدام هذه العناوين من قواعد التصفية مباشرة.

كما يسمح استخدام قوائم العناوين بدرجة أكبر من المرونة مما هو متاح إذا تم تحديث قواعد المرشح بشكل فردي. تسمح ميزة قائمة العناوين بتخزين ثلاث قيم :- تعليق comment اسم القائمة list nameعنوان IP addresses .

المثال التالي يفترض استخدام الحقول كما يلي:

comment  – اسم المضيف للاستخدام
list name – يبدأ بـ “host_” وينتهي بأي وصف
IP addresses – عنوان IP (إما 0.0.0.0 عند إنشاء الإدخال أو نتيجة الدقة إذا لم يكن كذلك)

السبب في استخدام التعليق لاسم المضيف بدلاً من اسم القائمة هو أن استخدام وصف في اسم القائمة يسمح بسهولة تجميع أسماء المضيفين معاً.

لذلك ، على سبيل المثال ، يمكن إضافة الإدخالات على النحو التالي:

/ip firewall address-list add address=0.0.0.0 comment=www.mikrotik.com list=host_mikrotik
 /ip firewall address-list add address=0.0.0.0 comment=forum.mikrotik.com list=host_mikrotik
 /ip firewall address-list add address=0.0.0.0 comment=wiki.mikrotik.com list=host_mikrotik

وقاعدة جدار الحماية firewall rule على النحو التالي:

 /ip firewall filter add chain=ouput dst-address-list=host_mikrotik action=accept

هذا يسمح لجميع حركة المرور الصادرة إلى أي من عناوين IP المحددة في قائمة العناوين ‘host_mikrotik’.

كما هو الحال ، لا يمكن تحقيق أي شيء بهذه القاعدة لأن عناوين IP المسموح بها كلها 0.0.0.0. نحتاج إلى كتابة سكربت يوزع جميع إدخالات قائمة العناوين ويحل تلك التي تحتاج إلى حل.

/system script add \
   name=resolvehostnames policy=write,read \
   source="# define variables\r\
   \n:local list\r\
   \n:local comment\r\
   \n:local newip\r\
   \n:local oldip\r\
   \n\r\
   \n# Loop through each entry in the address list.\r\
   \n:foreach i in=[/ip firewall address-list find] do={\r\
   \n\r\
   \n# Get the first five characters of the list name\r\
   \n  :set list [:pick [/ip firewall address-list get \$i list] 0 5]\r\
   \n\r\
   \n# If they're 'host_', then we've got a match - process it\r\
   \n  :if (\$list = \"host_\") do={\r\
   \n\r\
   \n# Get the comment for this address list item (this is the host name to u\
   se)\r\
   \n    :set comment [/ip firewall address-list get \$i comment]\r\
   \n    :set oldip [/ip firewall address-list get \$i address]\r\
   \n\r\
   \n# Resolve it and set the address list entry accordingly.\r\
   \n    : if (\$newip != \$oldip) do={:set newip [:resolve \$comment]\r\
   \n    /ip firewall address-list set \$i address=\$newip}\r\
   \n    }\r\
   \n  }"

بمجرد أن يكون السكربت في مكانه ، يمكن جدولة ذلك. جرب كل ساعة لمعرفة ما إذا كان ذلك يمنحك ما تحتاج إليه:

 /system scheduler add \
   comment="" disabled=no interval=1h name=updatehostnames on-event=resolvehostnames \
   start-date=jan/01/1970 start-time=00:00:00

اخلاء مسئولية :

يستخدم السكربت وظيفة RouterOS “resolve”.

لسوء الحظ (كما في 3.25) ، إذا كان اسم المضيف الذي يتم حله غير موجود أو إذا فشل resolvers  لأي سبب من الأسباب ، فإن البرنامج النصي يعيد رسالة خطأ ويتوقف على الفور. ليس من الممكن اعتراض رسالة الخطأ هذه إلى التعليمات البرمجية حوله. لذا يجب توخي الحذر الشديد لإدخال أسماء المضيفين بشكل صحيح (ولا تشمل أي مسافات رائدة أو لاحقة).

لاحظ أيضًا أنه لأسباب واضحة ، قد لا يعمل ذلك مع أسماء المضيفين التي يتم حلها إلى عناوين IP متعددة.

أنتهى … استخدام أسماء المضيفين في قواعد جدار الحماية في سيرفر الميكروتك

كيفية استخدام أسماء المضيفين في قواعد جدار الحماية في سيرفر الميكروتك

الى هنا نكون وصلنا الى نهاية موضوعنا اليوم كيفية استخدام أسماء المضيفين في قواعد جدار الحماية في سيرفر الميكروتك والذي نتمنى ان ينال رضاكم واعجابكم والى اللقاء في موضوع جديد شيق ورائع وحتى ذلك الحين لاتنسو الاهتمام بصحتكم وحفظكم الله …

اذا اعجبك الموضوع كيفية استخدام أسماء المضيفين في قواعد جدار الحماية في سيرفر الميكروتك لاتنسى ان تقوم بمشاركتة على مواقع التواصل الاجتماعي ليستفيذ منه الغير,

كما نتمنى اشتراككم في قناة الموقع على اليوتيوب بالضغط هنا وكذلك الاشتراك في مجموعة الفيس بوك بالضغط هنا والتيليقرام بالضغط هنا  وكذلك التسجيل بالموقع لتتمكنو من تحميل بعض الملفات الخاصة بالأعضاء

كما يمكنكم رفع ملفاتكم مجانا على مركز ملفات حضرموت التقنية بالضغط هنا ولاتترددو في وضع أي استفسارات للرد عليكم .

دمتم بكل ود والسلام عليكم ورحمة الله وبركاتة  … حضرموت التقنية

حول حمدي بانجار

باحث ومهندس في مجالات شبكات ومقاهي الأنترنت - شغوف في عالم الانترنت والبرمجة للشبكات - في حضرموت التقنية شعارنا الدائم - أفعل الخير مهما أستصغرتة ! فأنك لاتدري اي عمل يدخلك الجنة ... فلا يفلح كاتم العلم ...طموحاتي ان يصبح الموقع مدرسة تعليمية للعلوم التقنية الجديدة ومساعدة الاخرين في حل مشكلاتهم ونرحب بمن يرغب الانظمام لنا يفيذ ويستفيذ ليكبر هذا الصرح التعليمي ويحقق الاستفاذة القصوى للغير ... أنظمامكم لأسرة الموقع وقناتها ومشاركتكم بالمواضيع الهادفه هو بحد ذاتة تشجيع لنا وللغير لاستمرارية هذا الصرح التعليمي

تحقق أيضا

فتح بورت في الميكروتك لتحويل طلبات منفذ معين الى جهاز داخلي ضمن شبكات الميكروتك

فتح بورت في الميكروتك لتحويل طلبات منفذ معين الى جهاز داخلي ضمن شبكات الميكروتك

اخر تحديث في مايو 27, 2023 بواسطة حمدي بانجار فتح بورت في الميكروتك لتحويل طلبات …