จำกัด แบนด์วิดท์ขาออกบนอินเทอร์เฟซเฉพาะ


32

ฉันต้องการทราบวิธีที่ง่ายที่สุดในการ จำกัด แบนด์วิดท์ขาออกสำหรับอินเทอร์เฟซ ฉันต้องการความเร็วพอร์ตสูงสุดเพื่อให้การถ่ายโอนไฟล์ระหว่างเซิร์ฟเวอร์ของฉันไม่ล้มเหลวในช่วงเวลาที่ยุ่ง

ทางออกที่ง่ายที่สุดคืออะไร ฉันรู้ว่าฉันสามารถใช้ได้iptablesแต่ฉันกำลังมองหาการติดตั้ง / กำหนดค่าแบบง่าย


HTB ใช้งานได้ดี จำกัด อัตรายืดหยุ่นมาก sourceforge.net/projects/htbinit

คำตอบ:


37

ethtool

คุณสามารถเปลี่ยนความเร็วรวมของพอร์ต NIC ethtoolใช้

$ sudo ethtool -s eth0 speed 10

สิ่งนี้จะตั้งค่าพอร์ตเป็น 10MB ตัวอย่างเช่น

wondershaper

คุณยังสามารถใช้เครื่องมือwondershaperเพื่อทำมันได้เช่นกัน หมายเหตุ:ความเร็วควรเป็นกิโลบิตต่อวินาที

$ sudo wondershaper eth1 downspeed upspeed

ตัวอย่างเช่น:

$ sudo wondershaper eth0 10000 280

หยด

ตัวเลือกที่ 3 คือTrickle Trickle สามารถใช้ต่อโปรแกรมโดยผู้ใช้หรือเป็นดีมอนที่ควบคุม NIC อย่างสมบูรณ์

โหมดผู้ใช้ - หน้า man trickle

$ sudo trickle -d 20 -u 20 wget http://www.google.com/bigfile

จะเค้น 20K / s ทั้งการจราจรขึ้นและลงแค่นี้wgetทุกอย่างจะไม่ถูก จำกัด

โหมด Daemon - man man ที่ถูกเล็ดลอด

ในโหมด daemon trickledสามารถ จำกัด กลุ่มของโปรแกรมให้ จำกัด แบนด์วิดท์คงที่ ในการเริ่ม daemon ให้รันคำสั่งที่เล็ดลอด:

$ sudo trickled -d 20 -u 20

pyshaper

ตัวเลือกที่ 4 เป็นpyshaper เป็นตัวเลือกที่ไม่เหมือนใครในตัวเลือกซึ่งรวมถึง GUI และตรวจสอบและตั้งค่าแบนด์วิดท์เมื่อเวลาผ่านไป คุณสามารถตรวจสอบหน้าpyshaper คนสำหรับรายละเอียดเพิ่มเติม

                                            pyshaper gui

อ้างอิง


การ จำกัด การใช้แบนด์วิดท์ของแอปพลิเคชั่นที่มีปัญหาผ่านกลุ่ม cg อาจจะคุ้มค่าหากเคอร์เนลของพวกเขารองรับ
Bratchley

wondershaper ไม่ทำงานฉันไม่รู้ว่าทำไม (แม้กระทั่ง `wondershaper eth0 1,000 1,000 'ไม่มีแบนด์วิดท์อินเทอร์เน็ตเหมือนกับ` sudo ที่ถูกเล็ดลอด -d 20 -u 20`.) ฉันจำเป็นต้อง จำกัด หนึ่งอินเทอร์เฟซเครือข่าย แบนด์วิดธ์ไม่เพียง แต่การใช้งานเฉพาะ จะทำเช่นนั้นได้อย่างไร?
Arash

หยดไม่ทำงานสำหรับฉัน แต่ wondershaper ทำเคล็ดลับ!
peschü

1

Wondershaper ได้รับการแก้ไขครั้งล่าสุดในปี 2545 แต่ยังคงใช้งานได้กับ Fedora 21 ในปัจจุบัน แต่โปรดทราบว่ามีเพียงไม่กี่ตัวเลือกที่พร้อมใช้งานเป็นอาร์กิวเมนต์และคุณไม่สามารถระบุความเร็วในการอัพโหลด / ดาวน์โหลดบนบรรทัดคำสั่งตามที่ระบุไว้ที่นี่ - อย่างน้อยไม่ใช่ใน Download version 1.1a, เปิดตัว 16 เมษายน 2002 คุณต้องแก้ไข ไฟล์และมันเป็นสคริปต์เชลล์ ไม่ยากสำหรับผู้ที่รู้ว่าเปลือกเล็ก ๆ น้อย ๆ

การใช้งานคือ:

wondershaper (อันนี้จะตั้งค่าแบนด์วิดท์ของคุณตามค่าในไฟล์)

wondershaper status
wondershaper stop

คุณสามารถใช้มันในขณะที่การเชื่อมโยงขึ้นอยู่ซึ่งเป็นสิ่งที่ดี


1

อีกตัวเลือกหนึ่งคือ ' iproute2 ' ซึ่งดูเหมือนจะเป็นเครื่องมือสำหรับการกำหนดเส้นทาง / การกำหนดเส้นทางและการรับส่งข้อมูลสำหรับผู้ใหญ่ ฉันพบว่ามันเป็น RPM (อาจเป็นแพ็คเกจอื่น ๆ อีกมากมายฉันก็ไม่ได้ดู) ขณะที่เขียนนี้เวอร์ชันล่าสุดคือ 4.4.0 ซึ่งสร้างขึ้นเมื่อวันที่ 25 มกราคม 2016

เมื่อมองไปที่ไวยากรณ์การกำหนดค่าดูเหมือนว่าจะค่อนข้างง่าย (แต่ไม่ง่ายเหมือนifconfigหรือroute)


6
คำตอบของคุณไม่ได้ระบุว่าจะใช้ iproute2 เพื่อ จำกัด แบนด์วิดท์ออกจริงหรือไม่ กรุณาอธิบายเพิ่มเติมหน่อยได้ไหม?
Michael
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.