কিভাবে একটি লিনাক্স নেটওয়ার্ক ইন্টারফেসে ব্যান্ডউইদথ থ্রোটল করবেন?


56

লিনাক্সে কোনও এনআইসিতে ব্যান্ডউইথকে সীমাবদ্ধ করার কোনও উপায় আছে কি? আমি একটি নির্বিচারে ধীর সংযোগ অনুকরণ করতে সক্ষম হতে চাই।


উত্তর:


32

Netem কার্নেল মডিউল, iproute দ্বারা নিয়ন্ত্রিত।

আপনাকে কার্নেলের সাথে নেটিম সংকলন করতে হবে:

Networking -->
   Networking Options -->
     QoS and/or fair queuing -->
        Network emulator

একবার নেটিম মডিউল লোড হয়ে গেলে, আইপ্রেটের টিসি আপনাকে এই জাতীয় জিনিসগুলির অনুমতি দেয়:

tc qdisc add dev  tap0 root netem delay 50ms loss 50% 

(50% প্যাকেটের ক্ষতি, 50 মিলিয়ন অতিরিক্ত বিলম্ব)


হ্যাঁ, এটি এই জিনিসগুলির জন্য খুব ভাল একটি মডিউল। আমি বিশ্বাস করি না এখন পর্যন্ত কেউ উত্তর দিয়েছে ...

আমি স্থানীয়ভাবে (লোকালহোস্টে) সার্ভারগুলি পরীক্ষা করার জন্য এটি ব্যবহার করি কারণ এটি বছরের পর বছর ধরে সমস্ত ডিস্ট্রোজে স্ট্যান্ডার্ড। 20 মিমি দেরি করতে "tc qdisc যোগ করুন দেব লো রুট হ্যান্ডেল 1: 0 netem বিলম্ব 20msec", এবং এটি সরিয়ে "tc qdisc del dev lo root"
পিক্সেলবিট

1
দ্রুত দ্রষ্টব্য: কার্নেল মডিউলটি হ'ল sch_netem। সাধারণত এটি ম্যানুয়ালি লোড করার দরকার নেই, এটি প্রয়োজন অনুযায়ী স্বয়ংক্রিয়ভাবে লোড হবে।
sleske


Netem আমার সংস্করণ (উবুন্টু 13.10) ও ব্যান্ডউইথ ব্যবহার সীমিত করতে বিকল্প থাকে rateবিকল্প: tc qdisc add dev lo root handle 1:0 netem delay 10ms rate 1mbit limit 1000। উল্লেখ্য যেমন কিছু ডিভাইস যে lo(স্থানীয় হোস্ট ব্যবহার করার জন্য), আপনি ভাল হিসাবে কিউ দৈর্ঘ্য নির্ধারণ করা প্রয়োজন: ifconfig lo txqueuelen 1000। দেখুন serverfault.com/a/394949/76090
z0r

27

ক্লায়েন্ট পাশ, তাই না?

ট্রিকল আপনার যা চান তা করা উচিত। আপনি যদি উবুন্টু (বা ডেবিয়ান, আমার মনে হয়) চালাচ্ছেন তবে আপনি এটি দিয়ে এটি ইনস্টল করতে পারেন sudo apt-get install trickleএবং তারপরে এটি চালাতে পারেন। trickle -s -d 10 -u 10 firefox(বা তাই, আমি এটি কিছুক্ষণের মধ্যে ব্যবহার করি নি) ফায়ারফক্স চালাবে, এটির ডাউনলোড সীমাবদ্ধ করে এবং গতি সেকেন্ডে 10 কিলোবাইটে আপলোড করবে।


এই টিপ জন্য ধন্যবাদ। কিছু কারণে ট্রিকাল আমার জন্য ফায়ারফক্সের সাথে কাজ করবে না তবে এটি গুগল-ক্রোমের সাথে দুর্দান্ত কাজ করেছে। (উবুন্টু 9.10 64 বিট)
টম

6
টিসিপি স্থানান্তরগুলির জন্য স্ট্যান্ডার্ড লাইব্রেরি ফাংশনগুলিতে লিঙ্ক করার জন্য কলগুলি বিরত রেখে ট্রিকল কাজ করে - কোনও অ্যাপ্লিকেশন যদি এই সংকলনগুলি স্থিরভাবে সংকলনের সময় যুক্ত করে থাকে তবে এটি কাজ করতে পারে না।
ডেভিড স্পিললেট

16

উবুন্টুতে 'বিস্ময়কর' নামে একটি সরঞ্জাম ব্যবহার করে নেটওয়ার্কে উপলভ্য সমস্ত ব্যান্ডউইথ খেয়ে আমার বক্স এড়াতে একটি উপায় পেয়েছি। আমি আশা করি এটি অন্যান্য লিনাক্স ডেস্ট্রোতেও রয়েছে। আমার লিনাক্স হোম পিসি নিম্নলিখিত কমান্ডটি ব্যবহার করে যা ব্যান্ডউইদথ সীমাবদ্ধ করতে পারে।

sudo wondershaper eth0 1000 200

এটি ডাউনলোডের সীমাটি 1000 কিলোবাইট এবং 200 কিলোবিট পর্যন্ত সীমাবদ্ধ করে la আরও তথ্য / বিকল্পের জন্য বিস্ময়কর ব্যক্তিদের ম্যান পেজগুলি দেখুন।


1
এটি ওপি যা খুঁজছে তা পুরোপুরি নয় (এটি ব্যান্ডউইথ সংরক্ষণের বিষয়ে, উদ্দেশ্যমূলকভাবে সংযোগটি হ্রাস করার বিষয়ে নয়), তবে এটি এখনও জেনে রাখা ভাল।
sleske

1
বিটিডাব্লু: এটি দেবিয়ান প্যাকেজ wondershaper
sleske

এই দুলানো খ / সি আমাদের অফিসে ব্যান্ডউইথ স্যাচুরেশন নিয়ে সমস্যা ছিল, সেখানে একটি ব্যাকিং ছিল যা আমি বাধা দিতে পারি না এবং আমি দুটি সহজ লাইনে এটি ঠিক করতে সক্ষম হয়েছি: # অ্যাপট-ইনস্টল উইন্ডোশ্যাপার তারপর # বিস্ময়কর এথ0 9999999 500 আবারও ধন্যবাদ!
কমলা 80

4
বিস্ময়কর কিছু গণিত সমস্যা আছে বলে মনে হচ্ছে। 1Mb / s আপ / ডাউন পাথ পেতে, আমরা 1024 এর পরিবর্তে 28096 ব্যবহার করে শেষ করেছি this যদিও কেন এটি ঘটেছে তা সম্পর্কে কোনও ধারণা নেই।
বোটকোডার

পুনরায় সেট করতে, ব্যবহার করুন:sudo wondershaper clear eth0
ল্যো লাম

8

এনআইএসটি নীস্টনেট নামে একটি নেটওয়ার্ক সিমুলেটর তৈরি করে।

http://snad.ncsl.nist.gov/nistnet/ (লিঙ্কটি মারা গেছে বলে মনে হচ্ছে)

http://cs.ecs.baylor.edu/~donahoo/tools/nistnet/

নিস্টনেট আপনাকে এমন একটি রাউটার তৈরি করতে দেয় যা আপনার পছন্দসই একটি কম্ম লিঙ্ক অনুকরণ করে।

সহজ অপারেশনের জন্য আপনার কাছে এটি দুটি নেটওয়ার্কের মধ্যে দুটি এনআইসির একটি বাক্সে রয়েছে।

উদাহরণস্বরূপ, আমার একটি অ্যাপ্লিকেশন ছিল যা স্যাটেলাইট লিঙ্কের উপরে কাজ করতে হয়েছিল।

বিগ বিলম্বের সাথে ডেটা 2 এমবিপিএস লিঙ্কের উপরে যেতে পারে। নিয়ন্ত্রণ একই ধরণের সাথে 128 কেবিপিএস লিঙ্কের ওপারে যেতে হয়েছিল।

নিস্টনেট এটিকে 128 কেবিপিএসে কাজ করতে সহায়তা করেছে।

নিস্টনেট ব্যবহার করে আমি কেবল ব্যান্ডউইদথই নয়, স্বচ্ছলতাও অনুকরণ করতে পারি এবং এটি একটি ব্যস্ত বা অবিশ্বস্ত লিঙ্কের অনুকরণ করে আপনার জন্য প্যাকেটগুলি ফেলে দেবে।

যদি আপনি একটি আপত্তিজনক সংযোগ অনুকরণ করতে চান, তবে কেবল ব্যান্ডউইথকে সীমাবদ্ধ করবেন না, প্রচ্ছন্নতাটিও সরিয়ে দিন।

প্যাকেটগুলি খণ্ডিত করতে ভুলবেন না। আপনি ফোনি লিঙ্কে সুন্দর ছোট এমটিইউ সেট করতে পারেন।

আইআইআরসি যুক্ত প্যাকেট জিটার আপনাকে আউট অফ-অর্ডার প্যাকেটগুলি মোকাবেলা করতে পারে কিনা তা আপনাকে জানতে দেবে।


নিস্টনেট দীর্ঘ সময় আপডেট হয় না, তাই না? আইএমও, এখন পর্যন্ত সবচেয়ে ভাল উপায় হ'ল নেটিম মডিউল, যা ইতিমধ্যে সমস্ত কার্নেলের মধ্যে ইতিমধ্যে বিদ্যমান।

আপনি কোনও ভিএম ব্যবহার করে 2 এনআইসি সহ একটি মেশিন সিমুলেট করতে সক্ষম হতে পারেন।
স্কট

লিঙ্কটি কাজ করে না
হেসেন

লিঙ্কটি আমার পক্ষে কাজ করে।
ট্রিপলি

4

আমি এর জন্য অতীতে ব্যক্তিগতভাবে বিস্ময়কর যন্ত্র ব্যবহার করেছি , যদিও এটি বিপরীত ব্যবহারের ক্ষেত্রে লেখা হয়েছিল - আপনার এডিএসএল সংযোগের বেশিরভাগ অংশ তৈরি করে।

আমি যদিও এখানে উল্লিখিত অন্যদের চেষ্টা করতে হবে।


3

আপনি ব্যান্ডউইথকে সীমাবদ্ধ করার জন্য স্থানীয়ভাবে ইনস্টল করা স্কুইড প্রক্সি ব্যবহার করতে পারেন উদাহরণস্বরূপ ধীর লিঙ্কে একটি ওয়েব পৃষ্ঠা পরীক্ষা করতে:

  1. আপনার বিতরণ থেকে স্কুইড প্রক্সি ইনস্টল করুন - আমার ফেডোরায় এটি যতটা সহজ ছিল yum install squid

  2. নিম্নলিখিতগুলিতে এতে যুক্ত করুন /etc/squid/squid.conf:

    delay_pools 1
    delay_class 1 1
    delay_access 1 allow all
    delay_parameters 1 16000/16000

    এটি ব্যান্ডউইথকে প্রায় 128 কেবিপিএস (16000 বিপিএস) সীমাবদ্ধ করবে।

  3. স্কুইড শুরু করুন :/etc/init.d/squid start

  4. প্রক্সি সার্ভার localhostপোর্ট ব্যবহার করতে আপনার ব্রাউজারটি কনফিগার করুন 3128



3

ডেবিয়ান সংগ্রহস্থলগুলিতে এখনও কেউ আইপ্রেলে উল্লেখ করেনি , "আইপ্রেলে" নামে রয়েছে। এটি টিসিপি প্রক্সি হিসাবে কাজ করে, ট্রিকলকে যেভাবে কল করে তার থেকে বিরত রাখার পরিবর্তে এবং কোনও প্রক্সি ব্যবহার করতে পারে এমন কোনও অ্যাপ্লিকেশনের সাথে কাজ করবে (যেমন একটি ওয়েব ব্রাউজার) অথবা কোনও ব্যবহারকারী-সংজ্ঞায়িত গন্তব্য পোর্ট (টেলনেট, এসএসএস, এফটিপি, কার্ল, ইত্যাদি ) ra

এটি সেট আপ করা একটু বেশি কঠিন, তবে প্রায়শই এমন পরিস্থিতিতে কাজ করে যেখানে ট্রিকল হয় না।


1
এটি ঠিক আমি যা খুঁজছি তার জন্য! বিশাল ধন্যবাদ। আমি খুশি যে আমি স্ক্রোল করে নিচে পড়েছি kept
জে আর ভেনেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.