it-swarm-ko.tech

다운로드 / 업로드 대역폭을 제한하려면 어떻게해야합니까?

다음에 대한 다운로드/업로드 대역폭을 제한하는 방법 :

  • 전체 OS.
  • 하나의 네트워크 인터페이스.
  • 단일 응용 프로그램.
77
yevhene

단일 인터페이스를 제한하는 것은 쉽지만 응용 프로그램 기반 규칙과 마찬가지로 전역 속도 제한에는 더 복잡한 규칙이 필요합니다. 나는 할 수 없다고 말하지는 않지만 네트워킹의 내부에 약간의 파고가 필요합니다.

인터페이스 당 한도 설정에 대한 빠른 방법

응용 프로그램 기반 규칙을 실제로 설정하려면 shorewall 와 같은 일부 방화벽 프레임 워크를 살펴보고 형성 기능을 구성하는 도우미 기능이 있어야합니다. 이러한 도구를 사용하더라도 도구를 제자리에 배치하려면 약간의 예측과 테스트가 필요합니다. 이 임시 작업을 수행하는 것은 아직 쉽지 않습니다.

42
Ressu

이것은 오래된 질문이지만 동일한 질문에 대한 답을 찾을 때이 문제를 발견했습니다. OS 및 인터페이스 제한은 이미 이전 답변에서 다루었으므로 응용 프로그램 별 제한을 설정하는 방법이 있습니다. 물방울이라는 응용 프로그램을 사용하십시오. Sudo apt-get install trickle도 마찬가지입니다. 다음을 실행하여 특정 앱의 업로드/다운로드를 제한 할 수 있습니다

trickle -u (upload limit in KB/s) -d (download limit in KB/s) application

지정된 제한으로 응용 프로그램을 시작합니다. "평활화"시간을 지정하여 응용 프로그램에 대역폭 소비 버스트가 있고 평균이 사양 내에있는 한 버스트를 허용하려는 경우 원하는 시간 동안 샘플을 자극 할 수 있습니다.

66
SMeznaric

특정 IP 주소의 대역폭을 제한하려면 다음을 사용하십시오.

tc qdisc add dev eth1 root handle 1: htb default 12
tc class add dev eth1 parent 1: classid 1:10 htb rate 2500kbps
tc class add dev eth1 parent 1: classid 1:11 htb rate 2500kbps
tc class add dev eth1 parent 1: classid 1:12 htb rate 5000kbps

tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.2.105 flowid 1:10
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.2.106 flowid 1:11
5
billtian