ديسمبر 2021 ~ اركان

السبت، 25 ديسمبر 2021

كيف نصل لأعلي معايير الجودة في البرمجيات

 


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

 

اختبارات الأداء الوظيفي (Functionality Tests)

يتم إجراؤها للتأكد من أن التطبيق يقوم بالوظائف المطلوبة بشكل صحيح وخالي من الأخطاء كما خطط لها في قصص المستخدم (User stories) ويجب أن تتكرر هذه الاختبارات كلما تمت إضافة أي تحديثات الي المنتج. مثال: يمكن للمستخدم تحميل صورة الملف شخصي بنجاح.

 

اختبارات واجهة المستخدم (User Interface Tests)

يتم هذا الاختبار للتحقق من أن أجزاء واجهة المستخدم الرسومية (GUI)تظهر وتعمل بشكل صحيح كما هو مخطط لها ولا يوجد أي أخطاء او عيوب مثل اختلاف في شكل العرض مع اختلاف المتصفحات. مثال: ماذا يحدث عند عرض موقع الويب على شاشة صغيرة مثل الهاتف المحمول.

 

اختبارات الأداء (Performance Tests)

تساعد اختبارات الأداء في معرفة أداء التطبيق الفعلي اثناء الاستخدام وغالبًا ما تكون هذه الاختبارات آلية وتساعد أتمتة هذه الاختبارات وتشغيلها بشكل متكرر في كشف السيناريوهات التي لا يعمل فيها التطبيق بشكل صحيح. حيث يقوم اختبار الأداء بالتحقق من مدي الاستجابة والفعالية للتطبيق. مثال1: بعد تنفيذ إجراء ما، كم من الوقت يستغرقه النظام للرد؟

مثال 2: عند تسجيل دخول عدة أشخاص في نفس الوقت، هل يبقى التطبيق مستقرًا؟

 

اختبارات التكامل (Integration Tests)

تركز اختبارات التكامل بشكل أساسي على سلامة تدفق البيانات/المعلومات بين الوحدات المختلفة (Modules)، أي انها تتحقق من أن الوحدات (Modules) التي تعمل بالفعل بشكل فردي، قادرة أيضًا على العمل معًا بشكل صحيح. مثال: التحقق من الرابط بين الصفحة الرئيسية وقسم "المفضلة". عند إضافة عنصر كـ "مفضل"، من الصفحة الرئيسية، هل يظهر في قسم "المفضلة"؟

 

اختبارات قابلية الاستخدام (Usability Tests)

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

غالبا ما يتم إعداد حالات الاختبار هذه من قبل فريق التصميم جنبًا إلى جنب مع فريق الاختبار.

مثال: هل يمكن للمستخدم إضافة أكثر من عنصر بسهولة إلى سلة التسوق الخاصة به؟

 

اختبارات قاعدة البيانات (Database Tests)

تُستخدم اختبارات قاعدة البيانات للتحقق من قيام المطور بكتابة الكود بطريقة تخزن البيانات وتعالجها بشكل صحيح وآمن. مثال: عندما يقدم المستخدم ملفه الشخصي. هل قام التطبيق بتخزين البيانات المدخلة في قاعدة البيانات؟ هل فقدت أي بيانات في هذه العملية؟

 

اختبارات الأمن والحماية (Security Tests)

تتم اختبارات الأمان لكشف الثغرات الأمنية وللحماية من الاختراق والقرصنة وتساعد في كشف مدي التزام المطورين للإجراءات والأذونات الازمة لحماية البيانات وغالبًا ما تكون المصادقة والتشفير محور التركيز الرئيسي في حالات اختبارات الأمان. مثال: إذا أجري المستخدم عدد معين من محاولات تسجيل الدخول الفاشلة، يصبح الحساب مغلقًا

 

اختبارات قبول المستخدم (User Acceptance Tests)

الغرض من هذا الاختبار هو التحقق من صحة تدفق العمل من البداية إلى النهاية، وتكون حالات الاختبار موسعة وتغطي جميع مجالات التطبيق، وليس الغرض منها هو العثور على أخطاء (نأمل أن يكون قد تم العثور عليها بالفعل وتم إصلاحها في الاختبارات السابقة) ولكن للتحقق من أن التطبيق مقبول لدى المستخدم ويلبي كافة طلباته. وغالباً ما يتم إجراء UAT بواسطة المستخدمين المقصودين ويعتبر هذه الاختبار بمثابة المرحلة النهائية للاختبار قبل نقل التطبيق إلى بيئة العمل النهائية (Production environment)

 

المصدر: Moezeldin Elbakshishy

 

https://www.linkedin.com/in/moezeldin-elbakshishy

اختيار توزيعة لينكس المناسبة لعملك

 

إن الانتقال لنظام لينكس واستخدام توزيعاته يجلب الكثير من المنافع والمكاسب المحسوسة للشركات والمؤسسات، أبرزها توفير التكاليف، فلم يعد واجبًا على تلك المؤسسات أن تدفع اشتراكاتٍ سنوية لقاء كل جهازٍ موجودٍ لديها. كما أن استخدام لينكس في الكثير من الأحيان يرفع من الأداء عن السابق، ويعزز الثقافة التقنية في المؤسسة أو الشركة.

 

لكن بعد أن يقرر أصحاب العمل الانتقال إلى نظام لينكس، سواءٌ على أجهزة سطح المكتب أو الخوادم الخاصة بالشركة، تبرز مشكلة كبيرة يجب حلها: أي توزيعة لينكس سنختار للانتقال من بين آلاف التوزيعات الموجودة حاليًا في السوق؟

 

نجيب على ذلك التساؤل في هذا المقال عبر عدة نقاط.

 

كيفية اختيار توزيعة لينكس المناسبة لسطح المكتب

هناك مجموعة من الأمور التي يجب فعلها لتقرير أنسب توزيعة لينكس مناسبة للمؤسسات على أجهزة سطح المكتب:

 

تحديد أهداف الاستخدام

أول شيءٍ يجب على صنّاع القرار فعله هو تحديد ما يحتاجونه من متطلبات في توزيعة لينكس التي يبحثون عنها، وهذا يعتمد ببساطة على الأعمال التي يريدون القيام بها والبرمجيات التي يريدون تثبيتها والتعامل معها.

 

فإذا كان الهدف هو الحصول على توزيعة لينكس ثابتة ومستقرة، وبها الكثير من البرمجيات المتوفرة للتثبيت ومدعومة بصورة جيدة، فحينها لا غنى عن استخدام توزيعات مثل أوبونتو ودبيان، فهي توزيعات لينكس الأشهر وتتوفر في مستودعاتها – وبالتحديد أوبونتو – أكثر البرمجيات المتوفرة لنظام لينكس عمومًا. وتصدر الإصدارات طويلة الدعم (Long-Term Support) من أوبونتو كل سنتين وتبقى مدعومة لـ5 سنوات (أو لـ10 سنوات باشتراك مدفوع)، وهو ما يجعلها مناسبة للاستخدام لفتراتٍ طويلة من الزمن دون الحاجة للترقية أو الاستبدال.

 

أما إن كان الهدف هو الحصول على آخر وأحدث الإصدارات المتوفرة من البرمجيات بمجرد صدورها بغض النظر عن الاستقرار، فحينها قد تكون توزيعات مثل openSUSE Tumbleweed وFedora Rawhide وهي الأنسب، وهناك الكثير من هذه التوزيعات التي تقف في المنتصف بين حداثة إصدار البرمجيات وعامل الاستقرار.

 

تتوفر توزيعات لينكس مخصصة للمبتدئين كذلك؛ فإن كانت شركتك أو مؤسستك لا يتوفر بها قسم تقني وتحتاج توزيعة لينكس محملة بالفعل بكل ما قد يحتاجه المستخدم وتريد مجرد تثبيت التوزيعة واستخدامها فورًا، فحينها قد تعجبك توزيعة لينكس منت.

 

وهكذا يمكن البحث عن توزيعة لينكس المناسبة لمتطلبات بيئة العمل بمجرد تحديدها وكتابتها بالترتيب في قائمة، ثم النظر في توزيعات لينكس التي توفرها عبر مواقع كـDistrowatch.

 

إجراء فترة انتقالية تجريبية

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

 

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

 

وهكذا، تُحل جميع العقبات أمام الانتقال تدريجيًا وبسهولة بدلًا من الانتقال دفعةً واحدة ومواجهة جميع التحديات مع بعضها البعض. تفشل غالبًا الكثير من المؤسسات والشركات بل وحتى المدن والبلدان في الانتقال إلى البرمجيات مفتوحة المصدر بسبب هذا.

 

تحديد الموقف من الدعم الفني المدفوع

حتى على سطح مكتب لينكس، هناك دعم فني مدفوع لمن أراده.

 

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

 

ووتفاوت جودة وأنواع الدعم الفني المتوفر على منصة سطح المكتب من لينكس، لكنه لا يخرج عن 3 شركات: أوبونتو وريدهات وسوزا، فهي شركات لينكس الأبرز والوحيدة التي تتخصص فيه على مستوى عالمي.

 

كما أنه هناك شركات أخرى قد توفر دعمًا فنيًا مدفوعًا لبعض البرمجيات فقط؛ فمثلًا توفّر شركة Collabora دعمًا فنيًا مدفوعًا للحزمة المكتبية LibreOffice، فتساعد الشركات والمؤسسات الراغبة بالانتقال من مايكروسوفت أوفيس إلى ليبر أوفيس وتحل جميع المشكلات والعقبات التي قد تواجههم.

 

 

ولهذا يجب على صناع القرار في الشركات والمؤسسات تحديد ما إذا كان سيعتمدون على الدعم الفني من مجتمع المستخدمين فقط وعلى قدرات القسم التقني لديهم، أم يريدون دعمًا احترافيًا مدفوعًا من أحد هذه الشركات وقادرون على شراءه.

 

كيفية اختيار توزيعة لينكس مناسبة للخواديم

هناك متطلبات شبيهة أخرى للنظر إليها عند اختيار توزيعة لينكس المناسبة لخواديم الشركة أو المؤسسة.

 

تحديد المتطلبات

هناك أسئلة يجب الإجابة عليها قبل اختيار توزيعة لينكس المناسبة:

 

هل هناك مجموعة برمجيات معينة لا تعمل سوى على بيئة معينة يجب الاحتفاظ بها ونريد تثبيتها على التوزيعة الجديدة؟

هل هناك ضغط معين من العمل (Load) نريد تحمله على هذه الخواديم، وبالتالي نريد الحصول على برمجيات من نوع خاص وتثبيتها عليها؟ أو برمجيات بإصدارات محددة؟

هل هناك فترة دعم محددة نريدها للتوزيعة لتجنب ترقيتها كل 6 أشهر أو سنة أو 5 سنوات مثلًا؟

هل لن يوجد لدى الفريق التقني في المؤسسة أو الشركة أي مشكلة في التعامل مع نظام الإعدادات المختلف مثلًا بين التوزيعات الدبيانية والتوزيعات الريدهاتية وغيرها؟ أم أن الخبرات والموارد لدينا محدودة؟

الإجابة على هذه الأسئلة وغيرها ستكشف مباشرةً ما هي توزيعة لينكس الواجب استخدامها. فتوزيعات مثل أوبونتو ودبيان مناسبة للاستقرار والدعم طويل الأمد، لكنها قد لا تكون مناسبة لمن يريد الحصول على أحدث إصدارات البرمجيات الجديدة المتوفرة للخواديم، وهنا قد يُحتاج البحث عن توزيعات أخرى مثل CentOS Stream أو فيدورا أو openSUSE.

 

استعراض سوق الوظائف والمستقلين

لتوزيعة لينكس التي تختارها على خواديم الشركة قرارات مصيرية مستقبلية متعلقة بها، فإذا حصلت مشكلة مثلًا على خواديم الشركة وأردت إصلاحها، فستحتاج أن تمتلك فريقًا تقنيًا بالفعل من مُدراء نظام لينكس ليتداركوها ويحلوها بأنفسهم، أو لعلك توظف موظفين جدد أو مستقلين خارجيين لإصلاح المشاكل أو إجراء التغييرات التي تريدها.

 

وهنا النقطة: لا تختر توزيعات لينكس غير مشهورة. فمن السهل مثلًا أن توظف مدراء نظام أو مستقلين خبراء بتوزيعات مثل أوبونتو وريدهات ودبيان، فهي توزيعات لينكس الأكثر شهرةً على سوق الخواديم، لكنك لن تجد الكثير من الخبراء في إعدادا وضبط توزيعات مثل openSUSE وسوزا وأرتش لينكس وSlackware وما شابهها، وبالتالي هذه مشكلة محتملة لك مستقبليًا إن اخترت هذه التوزيعات.

 

لأن هذا سيعني أنك ستحتاج دفع المزيد من المال لتوظيف هؤلاء الخبراء أو حتى مجرد إيجادهم، كما أن العملية ستأخذ وقتًا أكبر، فأنت الآن تبحث عن خبرة أكثر ندرةً ولا تبحث عن شيءٍ معروف في السوق يستخدمه الجميع.

 

تحديد الموقف من الدعم الفني المدفوع

أبرز مكانٍ يُستعمل فيه الدعم الفني المدفوع على لينكس هو مجال الخواديم، ذلك أن الشركات والمؤسسات تحتاج في الكثير من الأحيان إلى الاستعانة بخبراتٍ خارجية لحل المشكلات التي تواجهها أو ضبط وإعداد البرمجيات التي تريدها.

 

توفر أيضًا نفس الشركات كأوبونتو وريدهات وسوزا دعمًا فنيًا احترافيًا مدفوعًا لإصدارات الخواديم من تلك التوزيعات، وبالتالي يمكن الاشتراك لديهم بتكلفة سنوية مقابل الحصول على الدعم الفني.

 

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

 

وبالتالي، الأمر يعتمد عليك وعلى الموارد التي تمتلكها.

 

الانتقال والتجريب

في النهاية تحتاج إجراء الانتقال لمدة تجريبية قبل إجراء الانتقال النهائي، تمامًا كما في سطح المكتب. تقوم الشركات والمؤسسات غالبًا بفعل هذا عبر نقل جزءٍ من البنية التحتية التي تخدم خدماتها ومنتجاتها إلى توزيعة لينكس الجديدة، ثم بعد مرور فترةٍ من الزمن وحل جميع المشكلات والعقبات التي قد تبرز ينتقلون إليها بالكامل.

 

لا مشكلة في التوقف والمحاولة من جديد؛ إن انتقلت إلى استخدام توزيعة معينة على خواديم مؤسستك ثم اكتشفت أنها لم تكن التوزيعة المناسبة، فلا مشكلة في المحاولة مجددًا مع توزيعاتٍ أخرى إلى أن تجد ضالتك.

 

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

 

خاتمة

نظام لينكس نظامٌ رائع وهناك الكثير من المميزات التي تكتسبها الشركات والمؤسسات من استخدامه، أبرزها توفير التكاليف والتكامل مع البرمجيات الأخرى مفتوحة المصدر بالإضافة إلى سرعة الأداء وقدرة التحمل وخلوه من الفيروسات وغير ذلك من المميزات.

 

صحيحٌ أن عملية الانتقال للشركات والمؤسسات قد تستغرق الكثير من الوقت والجهد والتخطيط، إلا أنه وعلى المدى البعيد، ستجد أن هذا التعب سيُردّ إليك مرة أخرى بسبب التكاليف التي وُفّرت بسبب الانتقال، ولهذا فإنه أمرٌ يستحق الجهد من أجل تنفيذه.


الخميس، 23 ديسمبر 2021

الوصول والتحكم بالمايكروتك عن بعد ومن أي مكان

 الوصول والتحكم بالمايكروتك عن بعد ومن أي مكان

طلب الكثير من الاخوة شرح هذه الخاصية ورغم وجود الكثير من الطرق التي تعتمد على التسجيل في موقع اخر وانشاء دومين وكتابة اكواد معقدة والكثير الكثير من الطرق الطويلة ولكن اليوم وجدت طريقة مجربة ومختصرة أتمنى ان تنال رضاكم وتنطبق على كل أنواع الراوتر بورد الخاصة بالمايكروتك وكما يلي:
نفتح الون بوكس بشكل طبيعي ثم ننقر على تبويب (system) ونختار منه السكربت (script) وكما في الصورة التالية:
1
والان ننقر على زر انشاء سكربت جديد من علامة الزائد (+) وكما في الصورة التالية:
2
والان اتبع التعليمات في الصورة التالية:
3
واما السكربت الذي يتم نسخه ولصقه فهو كما في ادناه:
# Define User Variables:global ddnsuser “southbird”
:global ddnspass “mothana”
:global ddnshost “00.00.00.00”
# Define Global Variables
:global ddnsip
:global ddnslastip
:if ([ :typeof $ddnslastip ] = nil ) do={ :global ddnslastip “0” }
:global ddnsinterface
:global ddnssystem (“mt-” . [/system package get system version] )
# Define Local Variables
:local int
# Loop thru interfaces and look for ones containing
# default gateways without routing-marks
:foreach int in=[/ip route find dst-address=0.0.0.0/0 active=yes ] do={
:if ([:typeof [/ip route get $int routing-mark ]] != str ) do={
:global ddnsinterface [/ip route get $int interface] }
}
# Grab the current IP address on that interface.
:global ddnsip [ /ip address get [/ip address find interface=$ddnsinterface ] address ]
# Did we get an IP address to compare?
:if ([ :typeof $ddnsip ] = nil ) do={
:log info (“DDNS: No ip address present on ” . $ddnsinterface . “, please check.”)
} else={
:if ($ddnsip != $ddnslastip) do={
:log info “DDNS: Sending UPDATE!”
:log info [ :put [/tool dns-update name=$ddnshost address=[:pick $ddnsip 0 [:find $ddnsip “/”] ] key-name=$ddnsuser key=$ddnspass ] ] :global ddnslastip $ddnsip
} else={
:log info “DDNS: No update required.”
}
}
# End of script
طبعاً لا يجب ان تنسى تغيير اسم المستخدم وكلمة المرور وعنوان حساب ال DNS الخاص بك

ضبط اعدادات (DDNS) في المايكروتك

 بداية وقبل البدء في شرح اعدادات ال (DNS) الديناميكي وكيفية تفعيلها في أجهزة المايكروتك لا بد من مقدمة بسيطة عن مفهوم ال (DDNS) لمن لا يعرفه:

يعتبر (DDNS) نسخة محدثة من نظام ال (DNS) والذي وظيفته الرئيسية تحويل عناوين المواقع من صيغة (www.google.com) مثلاً الى صيغة (111.234.221.3) أي انه عبارة عن سيرفر او جزء من سيرفر تأتيه طلبات من الحواسيب المرتبطة به عبر شبكة تحتوي الطلبات على أسماء المواقع المقروءة بشرياً (human readable) ليقوم بتحويلها الى صيغة الكترونية رقمية مقروءة حاسوبياً (computer readable) وهي عناوين ال (IP address) والغاية من هذه العملية هو تسهيل استخدام المواقع الالكترونية من قبل البشر الذي من الصعب ان يحفظ الصيغة الرقمية لكل المواقع في العالم فتم انشاء صيغة تسمية للمواقع قريبة من الفهم البشري وسهلة التذكر وهي المستخدمة اليوم بشكل رئيسي ويتلخص عمل ال (DNS) في الصورة التالية:
dns-and-ipv6
بعد ظهور ال (DNS) وعمله بشكل طبيعي لسنين طويلة بدأت تواجهه المشاكل التالية:
1-  البطء في الاستجابة بسبب زيادة عدد المواقع الالكترونية في العالم والية البحث التسلسلي الخاصة به.
2-  صعوبة إدارة الشبكات الكبيرة حيث ان ادخال العناوين والأرقام يتم يدوياً ويتم التحديث يدوياً مع كل تحديث في العناوين رقمية او كلامية مما سبب مشاكل أكبر مع الزيادة الهائلة في اعداد مواقع الانترنت.
3-  عدم وجود تكامل بين ال (DHCP) وال (DNS) الاعتيادي.
4-  ارتباط بعض الأسماء بحواسيب شخصية تتغير عناوينها الرقمية باستمرار مما يخلق مشكلة في حالة الاعتماد على التحديث اليدوي ال (DNS) الاعتيادي.
5-  نفاد العناوين الحقيقية لل (IP) مما جعل الكثير من أصحاب الشركات والمواقع يلتجئون الى أنظمة الاستضافة المجانية او مدفوعة الثمن (free or paid hosting services) للحصول على عناوين (IP) ديناميكية متغيرة باستمرار مما يجعل الاعتماد على ال (DNS) التقليدي يسبب مشاكل كبيرة جداً.
كل هذه المشاكل وغيرها استطاع ال (Dynamic Domain Name System DDNS) من تلافيها وتجاوزها حيث انه يقوم بالتحديث التلقائي للعناوين الرقمية المرتبطة بمجالات المواقع والشبكات مما جعله البديل الأكثر منطقية للنظام القديم ومن هنا وجي على مدراء الشبكات ومزودي خدمة الانترنت (ISP) تحديث وضبط اعدادات النظام الجديد (DDNS) للاستفادة من مميزاته الكثيرة.
والان نأتي الى كيفية ضبط اعدادات هذا النظام في أجهزة المايكروتك:
نقوم بفتح ال(winbox) بالطريقة الاعتيادية ونذهب الى (system) ثم نختار (scripts) كما في النافذة التالية:
1
والان ننقر على إشارة الإضافة (+) كما في النافذة التالية:
2
نغير الاسم ال (dyndns) وننسخ الكود التالي كاملاً مع الانتباه الى تغيير اسم المستخدم وكلمة المرور واسم الموقع والتي هي معلومات التسجيل في موقع ال (DDNS) وهي كما يلي:
3
تصبح مثلاً:
4
والان الكود:
# Define User Variables
:global ddnsuser “DYNDNSUSER”
:global ddnspass “DYNDNSPASS”
:global ddnshost “DYNDNSHOST”
# Define Global Variables
:global ddnsip
:global ddnslastip
:if ([ :typeof $ddnslastip ] = nil ) do={ :global ddnslastip “0” }
:global ddnsinterface
:global ddnssystem (“mt-” . [/system package get system version] )
# Define Local Variables
:local int
# Loop thru interfaces and look for ones containing
# default gateways without routing-marks
:foreach int in=[/ip route find dst-address=0.0.0.0/0 active=yes ] do={
  :if ([:typeof [/ip route get $int routing-mark ]] != str ) do={
     :global ddnsinterface [/ip route get $int interface]
  }
}
# Grab the current IP address on that interface.
:global ddnsip [ /ip address get [/ip address find interface=$ddnsinterface ] address ]
# Did we get an IP address to compare?
:if ([ :typeof $ddnsip ] = nil ) do={
   :log info (“DynDNS: No ip address present on ” . $ddnsinterface . “, please check.”)
} else={
  :if ($ddnsip != $ddnslastip) do={
    :log info “DynDNS: Sending UPDATE!”
    :local str “/nic/update?hostname=$ddnshost&myip=$ddnsip&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG”
    /tool fetch address=members.dyndns.org src-path=$str mode=http user=$ddnsuser \
        password=$ddnspass dst-path=(“/DynDNS.”.$ddnshost)
    :delay 1
    :local str [/file find name=”DynDNS.$ddnshost”];
    /file remove $str
    :global ddnslastip $ddnsip
  }
}
ويمكن نسخ الكود من الرابط التالي:
http://wiki.mikrotik.com/wiki/Dynamic_DNS_Update_Script_for_dynDNS
وننقر على (ok) للأشارة الى اكتمال العمل وكما في النافذة التالية:
5
والان ننقر على تبويب (system) ثم نختار (scheduler) كما في النافذة التالية:
6
وننقر على إشارة الإضافة (+) لأضافة جدولة جديدة وكما في النافذة التالية:
7
نغير القيم كما في النافذة ادناه ونجعل الفترة 15 دقيقة و (on event = dyndns) :
8
والان ننقر على (apply) ثم (ok) لأنهاء الاعدادات.