Ponte de rede e desaparecendo pacotes após a tabela “mangle”

0

TLDR: Eu configurei um sistema para interceptar pacotes, e descobri que ao usar uma ponte de rede, os pacotes desapareciam após a cadeia PREROUTING da tabela "mangle", não atingindo regras na tabela "nat".

Então, farei o meu melhor para entender o fluxo de pacotes do Linux e a configuração que está causando os problemas. Eu posso fornecer saída de log conforme necessário, mas essa descrição deve ser suficiente para fazer a configuração.

Primeiro. minha compreensão do fluxo de pacotes é baseada em diagrama de fluxo de pacotes do Linux Netfilter .

Na minha configuração, eu tenho uma ponte de rede padrão que está transferindo pacotes de uma interface Ethernet para outra (encaminhamento de pacotes habilitado no sistema, obviamente), esta parte funciona como esperado. No entanto, eu preciso NAT certos pacotes, então eu apliquei o ebtables "redirecionar para DROP" truque para causar certos pacotes a serem analisados pelo iptables, mesmo quando o pacote é destinado a um sistema completamente diferente. Confirmei que esses pacotes serão analisados com sucesso pelas cadeias PREROUTING nas tabelas "raw" e "mangle" (confirmadas pelo destino LOG), mas a cadeia PREROUTING da tabela "nat" nunca verá o pacote. Não vejo erros no syslog, não tenho indicação de para onde este pacote está indo ou porque a tabela "nat" nunca pode vê-lo.

Com base no que eu sei, a rota que o pacote toma deve ser direta, onde o fluxo deve ser broute: BROUTING- > raw: PREROUTING- > conntrack > mangle: PREROUTING- > nat: PREROUTING. Tudo menos essa última etapa funciona como esperado, e até agora não consegui nem mesmo começar a depurar porque as regras de "nat: PREROUTING" nem sequer vêem nenhum dos pacotes redirecionados.

Minha compreensão do pacote do netfilter está fluindo ou há alguma ressalva sobre as interações com pontes de rede e iptables que estou perdendo?

Obrigado!

    
por TheTwitchy 29.10.2018 / 06:08

0 respostas