TC를 사용하여 하나의 소스 인터페이스에서 여러 인터페이스로 미러링하는 것이 가능한지 아는 사람이 있습니까? 나는 다음을 수행했습니다.
- 내가 한 첫 번째 일은 입력 인터페이스에 수신 대기열을 만드는 것이었습니다.
tc qdisc add dev e101-001-0 handle ffff: ingress
- qdisc를 제거해야 하는 경우 다음을 사용할 수 있습니다.
tc qdisc del dev e101-001-0 [ root | ingress ]
- qdisc를 제거해야 하는 경우 다음을 사용할 수 있습니다.
- 대기열을 다시 확인하세요. 해당 핸들 ffff는 다음을 사용하여 생성되었습니다.
tc -s qdisc ls dev e101-001-0
- 다음으로 수신 포트에서 송신 포트로 모든 트래픽을 미러링하려고 합니다.
tc filter add dev e101-001-0 parent ffff: protocol all u32 match u32 0 0 action mirred egress mirror dev e101-005-0
- 포트 미러링이 구성에 나타나는지 확인하십시오.
tc -s -p filter ls dev e101-001-0 parent ffff:
- 필터를 제거해야 하는 경우 다음을 사용할 수 있습니다.
tc filter del dev e101-001-0 parent ffff:
- 필터를 제거해야 하는 경우 다음을 사용할 수 있습니다.
- 트래픽을 조정하지 않도록 대기열 설정
tc qdisc add dev e101-001-0 handle 1: root prio
이를 통해 하나의 인터페이스로 출력할 수 있지만, 새 인터페이스로 다른 필터를 추가하면 첫 번째 인터페이스에서 트래픽 수신이 중단되고 모든 트래픽이 새 인터페이스로 전송되는 것으로 나타났습니다.
답변1
ㅏ최우수 사용자 활동패킷의 추가 처리를 변경하기 위해 제어 연산자를 추가할 수 있습니다.
CONTROL
CONTROL은 작업을 수행한 후 tc가 어떻게 계속되어야 하는지를 나타냅니다. 다음 중 하나가 유효합니다.reclassify는
작업의 상위 항목에 연결된 첫 번째 필터로 다시 이동하여 분류를 다시 시작합니다.관로
다음 단계를 계속 진행하세요. 이것이 기본 컨트롤입니다.drop은
추가 작업을 실행하지 않고 압축된 콘텐츠를 삭제합니다.계속하다
다음 필터를 사용하여 계속 정렬합니다.pass는
패킷 처리를 위해 qdisc 호출로 돌아가 패킷 분류를 종료합니다.
필터를 일치시킨 후에는 더 이상 필터가 평가되지 않는 것 같습니다.
간단히 할 수 있는 일:
당신은 결합할 수 있습니다 (관로) 동일한 필터에 대한 여러 작업(두 번째 미러 인터페이스가 호출된다고 가정)e101-006-0):
tc filter add dev e101-001-0 ingress u32 match u32 0 0 action mirred egress mirror dev e101-005-0 pipe action mirred egress mirror dev e101-006-0
반대로 여러 필터를 연결할 수도 있습니다(작업의계속하다제어). 그러면 분명하다우선순위/우선순위필터의 순서가 중요하기 때문에 제공되어야 합니다. 다음 작업을 포함하는 필터계속하다컨트롤을 먼저 평가해야 합니다.
tc filter add dev e101-001-0 ingress pref 1 u32 match u32 0 0 action mirred egress mirror dev e101-005-0 continue tc filter add dev e101-001-0 ingress pref 2 u32 match u32 0 0 action mirred egress mirror dev e101-006-0
예를 들어 두 작업 간에 서로 다른 필터를 사용하려는 경우(예: 하나는 일치할 수 있음)프로토콜 IP또 다른프로토콜IPv6).
답변2
이것은 해결 방법이었지만 실제로는 동일한 작업을 수행하는 다리로 트래픽을 라우팅할 수 있다는 것을 깨달았습니다. 그래도 더 나은 제안을 받을 수 있습니다.