현재 포트 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
알아채다경찰역시 액션이지만 액션 키워드는 선택사항입니다(반면통과옵션).
또한 여전히 상황에 맞는 경우 수신 트래픽을 정책화(삭제)하는 대신 송신 트래픽에 대한 셰이핑(삭제되기 전 지연)을 사용하는 것을 고려해야 합니다. 이렇게 하면 패킷 성능이 향상될 수 있습니다(회선에서 중복 방지). 방울).