각 IP에 대해 QoS를 구성하는 방법은 무엇입니까?

각 IP에 대해 QoS를 구성하는 방법은 무엇입니까?

우리는 이미 사설망의 사용자가 수행 주소(NAT)를 통해 인터넷에 연결되어 있다고 말했습니다 4. 사용자에게 액세스를 제공하지만 사용자의 대역폭은 제한하지만 다른 사용자는 제한하지 않도록 구성해야 합니다.Linux routerpublic IPnetwork address translationQoSInternet2

eth0:121.51.26.35
eth1:10.239.107.1

eth0Linux Router링크 입니다 10Mbps. eth1에 연결되고 switch노드 4가 에 연결되었습니다 switch. 하나의 사용자 그룹에만 대역폭을 tc누적 사용량으로 제한하도록 구성하고 싶습니다 . (1명의 사용자가 다운로드/업로드할 경우 반드시 받아야 하며, 3명이 동시에 다운로드/업로드할 경우에는 반드시 받아야 함)2 nodes(XyZ in picture)3Mbps3Mbps1MBps

우선 이 요구 사항을 충족할 수 있는지 알려주세요., 그렇다면 어떻게 진행하나요?

다음은 토폴로지 다이어그램입니다.

여기에 이미지 설명을 입력하세요.

답변1

HFSC 또는 HTB와 같은 클래스 인식 qdisc를 선택해야 합니다.

그런 다음 다음과 같은 클래스 트리를 구축해야 합니다.

Root Class (10MBit)
|
\--- XyZ Class (rate 3Mbit ceil 3Mbit)
|    |
|    \--- Client 10 (rate 1.5Mbit ceil 3Mbit)
|    \--- Client 11 (rate 1.5Mbit ceil 3Mbit)
|
\--- Client 30 (rate 3.5Mbit ceil 10Mbit)
\--- Client 40 (rate 3.5Mbit ceil 10Mbit)

그리고 두 인터페이스 모두에서(업로드 및 다운로드 구성용)

HTB를 사용하여 예측 가능한 결과를 얻으려면 하위 항목의 합이 항상 상위 항목과 동일한지 확인해야 합니다. 따라서 루트에는 10Mbit가 있고 직계 하위 항목은 동일합니다(Xyz 3Mbit + Client30 3.5Mbit + Client40 + 3.5Mbit == 10Mbit). 마찬가지로 XyZ에는 3Mbit와 그 하위 Client10+Client11이 있습니다.

몇 년 전에 나는 비슷한 작업을 수행하는 스크립트를 작성했습니다.

https://github.com/frostschutz/FairNAT

오늘은 유지 관리되지 않았지만 아마도 몇 가지 아이디어를 얻을 수 있을 것입니다.

Linux의 트래픽 조절은 무시되고 난해한 영역이며 좋은 문서를 찾기가 어렵습니다. 이게 바뀌었는지는 모르겠지만...

가지다http://lartc.org/ (WonderShaper 부분은 무시하세요)

및 커널 패킷 전송 다이어그램http://www.docum.org/docum.org/kptd/(또한 FAQ)

또는 이것이 너무 복잡하다면 ESFQ와 같은 상태 비저장 qdisc가 귀하의 요구에 적합할 수도 있습니다. 실제로 하드 대역폭 제한을 적용하지 않고 클라이언트 간의 균형을 맞추려고 시도합니다.

행운을 빌어요.

관련 정보