Como usar o iptables ou o IFB para marcar o tráfego de entrada por dispositivo?

2

Estou tentando usar o iptables para marcar pacotes de entrada com base no dispositivo onde esses pacotes chegaram (em vez de seu endereço IP ou porta de origem, etc.), mas não encontrei uma maneira de fazer isso funcionar.

Especificamente, posso configurar um filtro que conte todos os pacotes de entrada (e isso funciona bem):

iptables -F -t mangle
iptables -A PREROUTING -t mangle -j MARK --set-mark 1
iptables -nvL

Chain PREROUTING (policy ACCEPT 185 packets, 41507 bytes)
 pkts bytes target     prot opt in     out     source               destination
  185 41507 MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            MARK set 0x1

No entanto, um filtro para capturar apenas pacotes da eth2 nunca parece ser acionado (mesmo que seja exatamente de onde vem todo o tráfego):

iptables -F -t mangle
iptables -A PREROUTING -t mangle -i eth2 -j MARK --set-mark 1
iptables -nvL

Chain PREROUTING (policy ACCEPT 101 packets, 19288 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 MARK       all  --  eth2   *       0.0.0.0/0            0.0.0.0/0            MARK set 0x1

A partir de howtos online, parece que esse comportamento pode ser uma conseqüência lógica da maneira como o iptables funciona: e para contornar isso, as pessoas tentaram usar o IMQ (antes que o IMQ caísse): e então passaram a usar o IFB em vez de. Mas lá a trilha de documentação parecia ficar gelada.

Então, a minha pergunta é a seguinte: se o IFB é o caminho certo para contornar este problema, qual seria a aparência equivalente do IFB para marcar o tráfego de entrada por dispositivo?

Como alternativa , existe uma maneira de classificar o tráfego proveniente de uma determinada interface como um de um conjunto de diferentes regiões? por exemplo. eth0 - > realm_10, eth1 - > realm_11, etc. Essa abordagem parece que também deve funcionar, mas eu (novamente) ainda não encontrei nenhuma documentação prática para isso.

    
por Nick Pelling 23.02.2015 / 15:19

0 respostas