إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

كيف تحدد Bandwidth الشبكة في لينكس بإستخدام Trickle

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • [شرح] كيف تحدد Bandwidth الشبكة في لينكس بإستخدام Trickle

    هل واجهت ذات مرة وضع يكون فيه أحد التطبيقات يأكل كامل traffic في الشبكة إذا ستقدر الدرو الذي يقدمه لك Trickle.

    سواء كنت مدير نظام أو فقط مستخدم لينكس عادي لابد أن تتعلم كيفيه التحكم بسرعة download و upload لتمنع إمكانيه أن يقوم تطبيق واحد بالسيطرة على كامل traffic وبالتالي يمنعك من عمل أي شيء إلا بعد أن ينتهي من عمله.

    ماهو Trickle ؟
    ------------------
    هي إداه للتحكم بالشبكة تسمح لك بتنظيم سرعة download و upload لتمنع اي تطبيق من الإستئثار بكامل الشبكة لنفسه.
    وهو يتحكم فقط بالبيانات الصادرة من وإلى socket باستخدام tcp.

    كيف يعمل Trickle ؟
    ------------------------
    - تثبيت بيئة التجربة.
    في هذه المقال سوف نوضح كيف نحدد bandwidth المستخدم من قبل التطبيقات في سرفر لينكس بإستخدام trickle.

    لتوليد traffic اللازم في تجربتنا سنستخدم ncftpput , ncftpget وكلا هاتين الأداتين موجودة عند تثبيت ncftp على client
    CentOS server – dev1: 192.168.0.17

    و vsftpd على server
    Debian – dev2: 192.168.0.15

    نفس الشيء سيكون على RedHat, Fedora, Ubuntu وما بني عليها

    تثبيت ncftp و vsftpd في لينكس
    --------------------------------------------
    RHEL/CentOS 8/7
    1- قم بتفعيل مستودع epel .
    2- تثبيت ncftp
    كود:
    # yum update && sudo yum install ncftp [On RedHat based systems]
    # aptitude update && aptitude install ncftp [On Debian based systems]
    3- إعداد سرفر ftp

    ملحوظة
    هذا السرفر كما هو معلوم غير أمن والأمن في تجربتنا هذه تحديدا غير ضروري.
    كود:
    # yum update && yum install vsftpd [On RedHat based systems]
    # apt update && apt install vsftpd [On Debian based systems]
    قم بتحرير ملف الإعدادات لسرفر ftp
    كود:
    etc/vsftpd/vsftpd.conf
    $ sudo nano /etc/vsftpd/vsftpd.conf
    أو
    كود:
    $ sudo /etc/vsftpd.conf
    اعمل هذه التغييرات في الملف
    كود:
    anonymous_enable=NO
    local_enable=YES
    chroot_local_user=YES
    allow_writeable_chroot=YES
    بعد ذاك قم بتشغيل vsftpd وتفعيل تشغيله مع كل إقلاع تلقائيا
    كود:
    # systemctl start vsftpd [For systemd-based systems]
    # systemctl enable vsftpd
    # service vsftpd start [For init-based systems]
    # chkconfig vsftpd on
    4- إذا أخترت سرفر ftp في centos/RHEL عبر ssh
    أدخل العنوان التالي على المتصفح او مدير الملفات أو برنامج يستخدم للدخول على السرفر مثل filezilla
    ftp://192.168.0.15

    إذا نجحت عملية المصادقة سترى محتويات المسار كاملة ستكون قادر على تحديث الصفحة لترى أخر الملفات التي تم رفعها الى السرفر

    كيفيه تثبيت Trickle
    ---------------------------

    التوزيعات التي تستخدم yum
    كود:
    # yum -y update && yum install trickle [On RedHat based systems]
    التوزيعات الدبيانية
    كود:
    # apt -y update && apt install trickle [On Debian based systems]
    شغل الامر التالي لتختبر trickle هل يستطيع التحكم بالشبكة ام لا
    كود:
    # ldd $(which [binary]) | grep [URL="http://libc.so/"]libc.so[/URL]
    اذا لم يرجع الامر السابق لم يرجع أي شيء هذا يعني أن لن يعمل التطبيق في هذه الحالة

    كيف نستخدم Trikle؟
    ----------------------------

    - تشغيل Trikle في وضعيه Standalone
    هذه الوضعية ستقارن بين سرعة download و upload مع وبدون استخدم Trikle.
    كود:
    # trickle -s -d [download rate in KB/s] -u [upload rate in KB/s]
    وهذا مثال
    سيتم تنزيل ملف pdf
    كود:
    # wget [URL]http://linux-training.be/files/books/LinuxFun.pdf[/URL]
    بدون إستخدم trikle
    كود:
    # ncftpput -u username -p password 192.168.0.15 /remote_directory local-filename
    سيكون الناتج كهذا
    LinuxFun.pdf: 2.79 MB 52.02 MB/s

    مع إستخدام trikle
    بإستخدام trikle سنحدد السرعة ل upload ب 5kb/s

    في مثالنا السابق لابد من حذف الملف من العملية السابقة
    كود:
    # rm /absolute/path/to/destination/directory/LinuxFun.pdf
    ثم
    كود:
    # trickle -s -u 5 ncftpput -u username -p password 111.111.111.111 /testdir
    LinuxFun.pdf
    سيكون الناتج كهذا
    LinuxFun.pdf: 2.79 MB 4.94 kB/s

    تشغيل Trikle في وضعية Supervised
    يمكنك تشغيل هذه الوضعية بإستخدام الإعدادات الموجودة في ملف الإعدادات في المسار
    /etc/trickled.conf.

    # trickled -d 50 -u 10

    للمزيد من التفاصيل راجع رابط الموضوع الأصلي بالانجليزية.

    في أمان الله ^_^

    How to Limit Network Bandwidth Usage in Linux Using Trickle
    التعديل الأخير تم بواسطة فتحي القدسي; الساعة 20-06-2021, 11:12 PM. سبب آخر: bandwidth,centos,server,speed
    •°o.O islamux O.o°•
    أنا إن عشت لنفسي عشت حقيرًهزيلا :::ومهما تعلمت لا أزال جهولا
    "يَوْمَ تَجِدُ كُلُّ نَفْسٍ مَا عَمِلَتْ مِنْ خَيْرٍ مُحْضَرا..الايه(آل عمران:30)

    *****
    إذَا لَمْ تَسْتَطِعْ شيئًا فدَعْهُ = وجاوِزْهُ إلى مَا تَستَطِيعُ
    تلميح اليوم

    FreeBSD في كبسولة !
    لا يطلب العلم مستحي ولا مستكبر
    اللهم اجعل عملنا خالصا لوجهك الكريم.
    فان تجد عيبا فسدَ الخللا ****** جلَ من لا عيب فيه وعلا
    كل مشاركاتي في المجتمع وقف لله تعالى
    Tweeter

يعمل...
X