مجموعة سكربتات لسيرفر mikrotik مهمة جدا ستحتاج إليها في شبكتك

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

مجموعة سكربتات لسيرفر mikrotik مهمة جدا ستحتاج إليها في شبكتك

مرحبا بكم مجددا اعزائنا

اليوم سنقدم لكم مجموعة سكربتات لسيرفر mikrotik مهمة جدا ستحتاج إليها في شبكتك حيث تمتاز هذي السكربتات بوظائف عديدة .

بسم الله نبداء :

مجموعة سكربتات لسيرفر mikrotik مهمة
مجموعة سكربتات لسيرفر mikrotik مهمة جدا ستحتاج إليها في شبكتك
  1. سكربت لإعادة تشغيل جهاز التوجيه مايكروتك يوميًا في الساعة 1:00 صباحًا :
    أولا إضافة السكربت النصي الذي سيعطي أمر لإعادة تشغيل جهاز التوجيه ، ثم جدولة تشغيله يوميا في الليل 1:00 صباحا أو ما تشاء 🙂

    /system script
    add name=sysreboot policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api source="/system reboot"
    /system scheduler add name="rebootat1am" start-date="dec/04/2013" start-time="01:00:00" interval="1d" on-event="/system reboot"
    # OR
    /system scheduler add name="rebootat1am" start-date="dec/04/2013" start-time="01:00:00" interval="1d" on-event="sysreboot"

  2. تعطيل / تمكين المستخدمين باستخدام  Script و Schedule :
    مثلا : كيف يمكنك تعطيل بعض مستخدمي نقطة الاتصال الخاصة بك من الساعة 06:00 حتى 23:00 وتمكينهم من 23:00 حتى 06:00 ؟
    /system scheduler
    add interval=1d name=disable-user-at-0600-hours on-event=disable-users \
    policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api \
    start-date=jan/30/2014 start-time=06:00:00
    add interval=1d name=enable-users-at-2300-hours on-event=enable-users policy=\
    ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api \
    start-date=jan/30/2014 start-time=23:00:00

  3. افصل جميع مستخدمي PPPoE النشطين :<
    # Print local time for LOG record purposes / tracking
    :local CurrentTime [/system clock get time];
    :log warning "Script Start to Disconnect all active PPPoE Users for RM Data record purposes at $CurrentTime. . ."
    # Disconnect users using find
    /ppp active remove [find service="pppoe"] :log warning "Users disconnection script completed at $CurrentTime. . ."
    /li>
  4. أحظر التنزيل استنادًا إلى حجم الملف SIZE :لقد نسيت اسم الشخص الذي تحدث معي سابقا من الفيسبوك  FB ، والذي سألني سؤالاً ، اسمحو لي بتسمية السيد X.
    وكان الاستعلام> كيفية حظر تنزيلات الملفات الكبيرة (دعنا نقول 5mb أو أعلى) في توقيتات محددة (مثل 8 مساءً -12 صباحًا).
    ولكن المشكلة هي كيف سيعرف جهاز المايكروتك حجم الملف قبل تنزيله؟ لا يوجد لدى جهاز المايكروتك أي وسيلة لمعرفة مدى حجم الاتصال … الحل هو إنشاء رول تصفية لجدار الحماية والتي ستسمح بالوصول إلى 5 ميجابايت الأولى من خلال الاتصال ، وبمجرد أن تصل إلى ذلك ، سيبدأ احباط تنزيل الحزمة.ولكن تذكر أنه سيؤثر أيضًا على البث ، مثل RDP مثل البروتوكولات والشبكات الظاهرية الخاصة وأي اتصال آخر ينقل عددًا كبيرًا من وحدات البايت.
    /ip firewall filter
    add action=drop chain=forward comment="downloading of files larger then 5mb (It will break connection after 5mb of transfer) applicable from 8pm till 12am / zaib" connection-bytes=5242880-0 disabled=no protocol=tcp time=\
    20h-23h59m59s,sun,mon,tue,wed,thu,fri,sat
    ولكن تذكر أنها ستقوم فقط بإحباط الحزمة الخاصة بهذا التنزيل المحدد ، يمكن للمستخدم القيام بجلسة تنزيل أخرى ولمنع ذلك ، يمكنك إنشاء رول mangle يضيف المستخدم في قائمة مؤقتة (مع مهلة تبلغ ساعة واحدة أو أكثر) وفي المرة التالية التي يحاول المستخدم تنزيلها ، سيتم رفض وصوله إلى هذا المورد المعين ، قم بتخصيص هذا الإجراء ليكون إما جلسة كاملة أو ملفًا محددًا مثل ملف mp3 exe zip وما إلى ذلك. يمكنك أيضًا إستخدام رول للتحكم بذلك .يمكنك أيضًا إنشاء قائمة انتظار بسيطة مع أو بدون burst ، مما يؤدي إلى إبطاء سرعة التنزيل بعد 5 ميغابايت ليتم الزحف إليها بعدد قليل من kbits فقط (لن يتم حجبه بناءً على الحجم) .

    يمكنك أيضًا إعادة توجيه هذه الحزم إلى وكيل خارجي مثل Squid للقيام بفلترة ذلك على الأمر response_body_max_size. مثال:

    reply_body_max_size 5242880 deny all # in specific timings only

  5. تعطيل مستخدمي HOTSPOT الذين ليس لديهم تعليقات “Paid” :
    # Script source: http://forum.mikrotik.com/viewtopic.php?f=9&t=82129
    # To block HOTSPOT users who donot have comments "PAID" in there comment box
    # Syed Jahanzaib / aacable@hotamil.com / http://aacable.wordpress.com
    /ip hotspot user
    :foreach i in=[find] do={
    :local username [get $i name] :if ([get $i comment]~"paid") do={
    } else={
    :log warning "$username..."
    /ip hotspot user disable $username
    }
    }

    أدناه النص الأصلي هو إصدار أصلي من المحرر أعلاه ،
    المصدر SCRIPT: منتدى MIKROTIK :

    :local username
    :local userunpaid
    :foreach i in=[/ip hotspot user find] do {
    :set username ( username [ip hotspot user get $i name])
    :if ([/ip hotspot user get [/ip hotspot user find name=$username] comment] != "paid") do {
    :foreach j in=[/ip hotspot active find] do {
    :set userunpaid ( userunpaid [ip hotspot active get $j user])
    :if (username = userunpaid) do {
    [/ip hotspot active remove [/ip hotspot active find user=$userunpaid]] :log info "User $userunpaid was removed from active list due to payment delay"
    }}}}}
  6. SCRIPT لفصل المستخدم الذي تم تسجيل دخوله مسبقا في حالة استخدام نفس المعرف في الكمبيوتر الثاني :
    سيقوم السكربت تلقائيًا بإزالة المستخدم الذي قام بتسجيل الدخول لأول مرة ، إذا تم تسجيل المعرف نفسه من الكمبيوتر الثاني.
    [إضافته في ملف تعريف المستخدم hotspot ON LOGIN SCRIPT]
    <
    # base function Sourcecode: Mikrotik Forum
    # Local Variables Section
    :local uname $user;
    :local usercount 0;
    :local usertime "00:00:00";
    # Variable for user who is previously logged in
    :local kickable;
    # Variable for max session allowed, 2 means only one session is allowed at a time
    :local maxuser 2;
    # Load all active users in hotspot
    :foreach i in=[/ip hotspot active find user=$uname] do= {
    # Load UPTIME for all users to be matched later
    :local curup [/ip hotspot active get $i uptime];
    # If previous logged user is matched using UPTIME [above then 0] then set global variables for disconnection
    :if ( $curup > $usertime ) do={
    :set usertime $curup;
    :set kickable $i;
    }
    :set usercount ($usercount+1);
    }
    # IF Function for user who is already logged in,
    :if ($usercount >= $maxuser) do={
    :log info "Login user: $uname ($usercount/$maxuser) - Oldest $usertime will be logout!";
    # Kick previous logged users (if same ID)
    /ip hotspot active remove numbers=$kickable;
    # If not, do nothing, just log, You can modify this function as well / JZ
    } else {
    :log info "Login user: $uname ($usercount/$maxuser)";
    /li>

مجموعة سكربتات لسيرفر mikrotik مهمة

الى هنا نكون وصلنا الى نهاية موضوعنا اليوم

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

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

حضرموت التقنية

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

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

تحقق أيضا

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

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

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