A página de manual de extensões do Netfilter afirma que:
MASQUERADE: Este alvo só é válido na
nat
tabela, naPOSTROUTING
cadeia
PERGUNTA: Como clonar a saída do MASQUERADE
destino com um TEE
destino?
Se você observar o diagrama netfilter/iptables
abaixo, notará que nat.POSTROUTING
é a última cadeia a ser avaliada antes que o pacote seja enviado para a interface de saída. Não há uma raw.POSTROUTING
cadeia, ... ou há?
Veja também isso .
PS
Qual é a razão para processar as tabelas mangle
e nat
na mesma ordem na interface outbound
e inbound
, quando os dados fluem em direções opostas através dessas interfaces (egresso e ingresso)?
Até onde eu sei, como não é possível ter uma regra iptables executada após nat/POSTROUTING , que é o último gancho fornecido por iptables , não é possível usar iptables para capturar um pacote pós-NAT.
Mas isso é possível ao usar nftables , já que a prioridade do gancho é definida pelo usuário . A instrução dup do nft é uma substituição direta do TEE do iptables . É possível misturar nftables e iptables desde que ambos não estejam fazendo NAT (o recurso nat é especial e não pode ser compartilhado adequadamente entre iptables e nftables ). Usar a versão do iptables -over-nftables do iptables também funcionará (cuidado deve ser tomado ao liberar conjuntos de regras), e é claro que usar apenas nft para tudo também funcionaria.
Aqui está um conjunto de regras nft pronto para isso em um roteador com uma LAN NATed em eth1 e seu lado WAN em eth2 , para enviar uma cópia para 192.168.0.3 no lado LAN. como descrito em outra pergunta do OP . Para ser colocado em algum arquivo chamado forwireshark.nft e ser "carregado" usando
nft -f forwireshark.nft
:O que importa aqui é que o valor 250 foi escolhido para ser maior que iptables '
NF_IP_PRI_NAT_SRC
(100) .Aqui está o que normalmente receberia o host wireshark quando o host de ping faz
ping -c1 8.8.8.8
após alguma inatividade (observe a estranha solicitação ARP do IP "errado", que pode não ser aceita por padrão em alguns sistemas):Eu não sei o raciocínio na ordem de mangle/POSTROUTING e nat/POSTROUTING . De qualquer forma, isso faz parte das limitações do iptables , porque em nftables , além do equivalente de mangle/OUTPUT que é um gancho de rota de tipo especial para reencaminhamento, todos os outros usos equivalentes de mangle são parte do tipo filter : não há realmente um tipo mangle separado não mais. Ser capaz de escolher a ordem de prioridades permite fazer mais.