SSH यातायात सीमित करें?


11

मैं अपने सर्वर पर SSH बैंडविड्थ को सीमित करने में सक्षम होना चाहता हूं। यानी प्रत्येक sshd प्रक्रिया को 200Kb / s या उस जैसे कुछ तक सीमित होना चाहिए।

scp में यह कार्यक्षमता है, लेकिन ssh, उत्तरदायी इंटरएक्टिव उपयोग के लिए अधिक डिज़ाइन किया गया है, यह विकल्प नहीं लगता है। हालांकि, मैं -D (SOCKS प्रॉक्सी) कार्यक्षमता को किसी तरह ट्रैफ़िक को सीमित करने की क्षमता के साथ जोड़ना चाहूंगा।

क्या इसके लिए कोई विकल्प हैं?


क्या आप SSH सर्वर पर ऐसा करना चाह रहे हैं, या दो मशीनों के बीच फ़ायरवॉल पर ऐसा करना ठीक है?
मार्क हेंडरसन

मैं वास्तव में सर्वर पर यह करूँगा, क्योंकि मेरे पास फ़ायरवॉल तक नहीं है।
user10640

यदि आप क्लाइंट पर ऐसा करने से खुश हैं, तो कमांड लाइन उपयोगिता 'टपकने' का प्रयास करें।
एलेक्स जे।

हालांकि रिमझिम कमांड उपयोगी लगता है, मैं अंततः इसे चलाने के लिए उपयोगकर्ताओं पर भरोसा नहीं कर सकता। ऐसा लगता है कि मैं कुछ और अधिक जटिल देख रहा हूं, जिसकी मुझे उम्मीद थी: P सभी का धन्यवाद!
15106 पर user10640

जवाबों:


4

मुझे यकीन नहीं है कि अगर उपयोगकर्ताओं पर भरोसा करना समीकरण का हिस्सा है, लेकिन trickleकिसी दिए गए कमांड की गति को सीमित करने के लिए बहुत आसान है। जब मैं घर से पैकेज अपलोड करता हूं, तो वाह-व्यसनी रूममेट नोटिस करते हैं जब मैं ऐसा कुछ भूल जाता हूं, क्योंकि यह पाइप पर बहुत हावी है।


1
ट्रिकल एक मशीन पर कई कमांड्स के लिए एक बैंडविड्थ के रूप में चल सकती है और कुल बैंडविड्थ का प्रबंधन कर सकती है। हैंडी जब आप एक ही समय में अन्यथा स्वतंत्र हस्तांतरण संचालन का एक समूह सेट करना चाहते हैं, लेकिन चाहते हैं कि वे कुल डेटा दर से अधिक का उपयोग न करें।
डेविड स्पिललेट

1
दुर्भाग्य से, मुझे नहीं लगता कि यह मुझे sshd के साथ मदद करेगा - यह नए sshds को बंद कर देता है क्योंकि नए कनेक्शन आते हैं। मैं कुछ फ़ायरवॉल स्तर समाधान के साथ फंस सकता हूं, जिसे लागू करने के लिए थोड़ा और मुश्किल होगा।
user10640

wtf यह शीर्ष उत्तर क्यों है? trickleकांटे वाली किसी भी प्रक्रिया के साथ काम नहीं करता है। जिसमें sshd भी शामिल है!
नवीन

1

यह tc का उपयोग करके HTB यातायात को आकार देने को लागू करने के लायक होगा। एक simular समस्या के लिए मेरा समाधान http://sourceforge.net/projects/bbin// पर मिली htb.init स्क्रिप्ट का उपयोग करना था

मैंने इसे पोर्ट 22 से यातायात को सीमित करने के आधार पर स्थापित किया है, लेकिन आप पैकेट को चिह्नित करने के लिए iptables का उपयोग भी कर सकते हैं, जो तब चिह्न के आधार पर संसाधित होते हैं।


tcअब तक के एकमात्र संबंधित उत्तर के लिए +1 ।
स्पूलर

1
scp -l 8192 file.txt user_name@111.111.1.11:/tmp
//8192  = 8192 KB per second

मुझे पता है कि यह धागा काफी पुराना है, लेकिन उम्मीद है कि इससे किसी को मदद मिलेगी।


1
यह कष्टप्रद है कि दो लोगों ने कम से कम टिप्पणी किए बिना आपके उत्तर को अस्वीकार कर दिया। मुझे लगता है कि यह है क्योंकि scpssh के बजाय एक विशिष्ट उपयोग मामला है। मैंने परीक्षण किया है scp -lऔर यह काम करता है, हालांकि ध्यान दें कि यह किलोबाइट्स (केबी) प्रति सेकंड है, और किलोबाइट्स (केबी) नहीं है।
mwfearnley

0

कुछ विकल्प हैं।

एक आम एक सर्वर और क्लाइंट के बीच फ़ायरवॉल / राउटर पर पोर्ट 22 पर क्यूओएस को लागू करना है।

यदि वे एक ही स्थानीय नेटवर्क पर हैं (यानी उनके बीच कोई राउटर या फायरवॉल नहीं है), मेरा मानना ​​है कि आप बैंडविड्थ का उपयोग पोर्ट 22 तक बैंडविड्थ को सीमित करने के लिए कर सकते हैं ... ऐसा करने के तरीके के बारे में अधिक जानकारी के लिए यहां एक नज़र डालें


1
आपको ssh जैसी सेवा के साथ iptables के रेट लिमिटर का उपयोग करने में सावधानी बरतने की आवश्यकता है, क्योंकि "यह देखना महत्वपूर्ण है कि रेट लिमिटिंग थ्रॉटलिंग / थ्रॉटलिंग से वैचारिक रूप से अलग है; एक बैंडविड्थ-थ्रॉटल कनेक्शन कनेक्शन को कतारबद्ध करेगा और जिस दर पर वे सीमित करेंगे; प्रेषित / प्राप्त किए जाते हैं। रेट लिमिटिंग ऐसा नहीं करेगी; जब आप रेट लिमिटिंग का उपयोग करते हैं, उदाहरण के लिए, आपकी पहचान के लिए आने वाले टीसीपी कनेक्शन के प्रयास, और निर्दिष्ट सीमा से अधिक कनेक्शन से इनकार किया जाएगा; पैकेट की कोई कतार नहीं है । "
एमएसनफोर्ड

हम्म गॉड पॉइंट
मार्क हेंडरसन

0

आप कुछ इस तरह देख सकते हैं :

User-space bandwidth shaping TCP proxy daemon
iprelay can shape the TCP traffic forwarded through it to a specified
bandwidth and allow this bandwidth to be changed on-the-fly. Multiple
data streams to different sockets may be shaped to the same total
bandwidth, much like a traffic shaping router would. However, this
application runs in user space, and works by acting as a TCP proxy.
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.