tc를 사용하여 하나의 IP를 제외한 모든 트래픽의 속도를 제한합니다.

tc를 사용하여 하나의 IP를 제외한 모든 트래픽의 속도를 제한합니다.

현재 포트 22의 트래픽을 제한하는 다음 규칙이 있습니다. 이는 모든 트래픽에 적용되지만 하나의 IP(예: xxxx)에는 적용하고 싶지 않습니다. 어떻게 해야 합니까? 따라서 트래픽이 xxxx 및 포트 22에서 발생하는 경우 속도 제한이 없어야 합니다.

        tc filter add dev eth1 parent ffff: protocol ip u32 \
              match ip sport 22 0xffff  \
              police rate 800kbit burst 24000 drop flowid :1

답변1

해당 IP를 빈 IP와 일치시키는 필터를 추가할 수 있습니다.행동이는 추가 필터링 없이 패킷을 "통과"로 분류합니다. 우선순위를 지정하지 않으면 순서를 추측할 수 없으므로 두 필터 모두우선순위(일명프리오또는선호) 놓다. 따라서 IP 192.0.2.10을 속도 제한에서 제외하려면 필터를 다음 두 가지로 바꿀 수 있습니다.

tc filter add dev eth1 parent ffff: protocol ip priority 1 \
   u32 match ip src 192.0.2.10 action pass
tc filter add dev eth1 parent ffff: protocol ip priority 2 \
   u32 match ip sport 22 0xffff action police rate 800kbit burst 24000 drop flowid :1

알아채다경찰역시 액션이지만 액션 키워드는 선택사항입니다(반면통과옵션).

또한 여전히 상황에 맞는 경우 수신 트래픽을 정책화(삭제)하는 대신 송신 트래픽에 대한 셰이핑(삭제되기 전 지연)을 사용하는 것을 고려해야 합니다. 이렇게 하면 패킷 성능이 향상될 수 있습니다(회선에서 중복 방지). 방울).

관련 정보