Como redirecionar pacotes UPD direcionados para outro host para localhost

Como redirecionar pacotes UPD direcionados para outro host para localhost

Quero detectar pacotes UDP direcionados à porta 4500 fluindo da máquina A -> B com um dispositivo TAP físico e receber os pacotes detectados na máquina C em uma porta local (veja a imagem). insira a descrição da imagem aqui

Sobre o dispositivo TAP: Este é um dispositivo físico colocado entre A e B. O tráfego entre A e B não é modificado, mas os pacotes também são enviados para a interface de saída TAP para a máquina C (os pacotes recebidos em C são ainda endereçado a B porque a TAP não está a fazer modificações)

Meu golé receber todos os dados direcionados à porta 4500 na máquina C em programas clientes como netcat.

O problemaobviamente é que os pacotes recebidos na NIC de C não são direcionados para C e, portanto, os pacotes são descartados antes de chegarem perto das camadas de aplicativos do modelo OSi.

O que já tentei é nftablesredirecionar pacotes, mas de alguma forma meu netcat ainda não recebe mensagens. Alguém pode me ajudar no que estou fazendo de errado ou sugerir qual é a melhor maneira de resolver isso?

nft 'add chain nat udpredirect { type nat hook prerouting priority -101 ; policy accept ; }'
nft 'add rule ip nat PREROUTING udp dport 4500 redirect'

Responder1

A resposta está aqui:https://serverfault.com/a/1125704/570881

A família netdev deve ser usada para modificar pacotes com antecedência suficiente antes que o kernel os descarte.

informação relacionada