Gostaria de ter sua sugestão / comentário sobre um problema específico que estou enfrentando agora. Esse problema é observado no espelhamento de porta configurado no mesmo host, enquanto o espelhamento de porta no final remoto está funcionando bem.
O pacote OAM no UDP é enviado e recebido por dois segmentos, um para cada. O pacote OAM é enviado para a extremidade remota através de ethernet, enquanto durante a travessia deste pacote OAM na pilha IP, um gancho OUTPUT é aplicado (como mostrado abaixo), que clonará o pacote OAM de saída para finalidade de espelhamento.
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
Na regra acima, 172.25.62.55
é o IP remoto e 172.25.62.38
é o IP do host local.
Eu posso verificar se o pacote OAM é clonado e deixado na pilha (usando ip_send_check(iph); dst->output(nskb);
) para alcançar a extremidade de recebimento (clonado pkt src IP = 172.25.62.38, dst IP = 172.25.62.38
) corretamente, mas esse pacote OAM clonado não está recebendo no encadeamento de recebimento no mesmo host.
Eu acho que a minha observação após a depuração deste cenário é que o pacote OAM não é roteado para entrega IP local e perdeu o pacote após o gancho oam_mirror. É muito difícil depurar este pacote na pilha IP no sistema restritivo.
Estou preso aqui e incapaz de ir a qualquer lugar a partir de agora, alguém pode por favor sugerir-me, como proceder mais longe daqui. Seria muito útil se você fornecer alguma solução para esse problema específico.
Por favor, sinta-se à vontade para perguntar se você precisa de mais informações sobre isso.
Tags ip