iptables corresponde à regra

1

Se uma regra corresponder ao pacote e tiver -j DROP , sei que o pacote irá parar para percorrer o resto das regras. No entanto, não entendo o que acontecerá se o pacote corresponder a uma regra com -j ACCEPT? Pararia de novo para atravessar as regras ou tentaria igualar outras regras? Em outras palavras, o que acontecerá se um pcket tiver muitas regras para corresponder.

    
por Michael 12.03.2011 / 08:23

2 respostas

6

A primeira partida vence e o processamento é interrompido se o alvo for um alvo "finalizante"; aqueles incluem DROP , ACCEPT , DNAT e assim por diante. São alvos que determinam a disposição final do pacote; não faz sentido dizer -j REJECT se ele pode ser substituído três linhas depois com -j OH-SORRY-I-DIDNT-MEAN-IT .

A primeira partida vence e o processamento não não é interrompido se o destino for "sem finalização"; aqueles incluem LOG , ULOG e envio do pacote para uma cadeia definida pelo usuário. Nesse último caso, o processamento continua através das regras nessa cadeia, e se nenhum corresponder a um destino final, o pacote "cai fora da cadeia" e retorna para a regra na cadeia de chamada após a que enviou a cadeia. a cadeia definida pelo usuário.

Isso está claro? Ganhos de primeira partida sempre se aplicam, e é por isso que a ordem das regras é importante.

    
por 12.03.2011 / 08:33
2

Em geral, existem dois tipos de destinos do iptables:

  • Destinos sem terminação (por exemplo, LOG, ULOG, TOS, MARK, CONNMARK, NOTRACK, CONNTRACK)
  • Terminar destinos (por exemplo, ACCEPT, DROP, REJECT)

Sem finalização significa que, após uma determinada ação ter sido aplicada, o pacote continua para a próxima regra na mesma cadeia / tabela

Encerrar significa que, após uma determinada ação ter sido aplicada, o processamento termina na tabela . Se o pacote ainda existir, o pacote continuará na próxima tabela de acordo com a sequência de fluxo do filtro de rede (veja abaixo). Claro, nos casos de REJECT e DROP, o pacote não existe mais, então naturalmente não haverá mais processamento.

O artigo da wikipedia sobre o iptables fornece um diagrama sobre a sequência de tabelas / cadeias que um pacote encontrará.

    
por 12.03.2011 / 12:32