제가 지금 직면하고 있는 특정 문제에 대한 귀하의 조언/의견을 듣고 싶습니다. 이 문제는 동일한 호스트에 구성된 포트 미러링에서 관찰되지만 원격 측의 포트 미러링은 제대로 작동합니다.
설정 지침:
UDP의 OAM 패킷은 두 개의 스레드에 의해 전송되고 수신됩니다. OAM 메시지는 IP 스택을 통과하는 OAM 메시지 프로세스 중에 이더넷을 통해 원격 엔드로 전송됩니다.출력 후크미러링 목적으로 나가는 OAM 패킷을 복제하는 적용(아래 표시).
iptables -t mangle -A OUTPUT -d 172.25.62.55/32 -p udp -m udp --dport 16 --port 33 -j oam_mirror --ip 172.25.62.38 --cid 33
위 규칙에서 는 172.25.62.55
원격 IP이고 172.25.62.38
는 로컬 호스트 IP입니다.
내 디버깅 및 관찰 내용은 다음과 같습니다.
ip_send_check(iph); dst->output(nskb);
OAM 패킷이 복제되어 스택(사용됨 )에 남아 수신측(clone)에 올바르게 도달하는지 확인할 수 있지만 pkt src IP = 172.25.62.38, dst IP = 172.25.62.38
이 복제된 OAM 패킷은 동일한 호스트의 수신 스레드에서 수신되지 않습니다.
이 시나리오를 디버깅한 후 관찰한 바에 따르면 OAM 패킷은 로컬 IP 전달로 라우팅되지 않으며 oam_mirror 후크 후에 패킷이 손실됩니다. 제한적인 시스템의 IP 스택에서는 이 패킷을 디버깅하는 것이 매우 어렵습니다.
나는 여기에 갇혀서 지금부터 아무데도 갈 수 없습니다. 누군가 나에게 앞으로 나아갈 방법을 제안해 줄 수 있습니까? 이 특정 문제에 대한 몇 가지 해결책을 제공할 수 있다면 매우 도움이 될 것입니다.
이에 대한 추가 정보가 필요하면 언제든지 문의해 주세요.