Eu tenho uma pergunta específica sobre a interação do netfilter / iptables do Linux. Digamos que eu tenha um pacote IP P1 dentro de outro pacote IP P2 (isto é, o P1 é tunelado).
Agora, a pergunta é a seguinte: É possível examinar um campo de cabeçalho específico do pacote "externo" P2 (por exemplo, o endereço de origem MAC), e depois enviar o pacote "interno" P1 para uma certa cadeia de iptables baseada no campo inspecionado?
Como um pequeno exemplo: Digamos que eu tenha 3 correntes na tabela FORWARD, de C1 a C3. Agora, se o endereço de origem MAC de P2 tiver o valor 17, eu quero enviar o pacote "interno" P1 para C1. Se o endereço MAC for 28, eu quero enviar P1 para C2. Caso contrário, quero enviar P2 para C3.
Não tenho certeza se é possível fazê-lo no iptables. Talvez isso também possa ser conseguido conectando um pouco de código C a um gancho de netfilter específico.
Eu sei que esse é um caso de uso estranho, mas estou apenas curioso.
Obrigado antecipadamente!