Entendendo como os filtros de firewall são avaliados
Um filtro de firewall consiste em um ou mais termos, e a ordem dos termos dentro de um filtro é importante. Antes de configurar filtros de firewall, você deve entender como os switches avaliam os termos dentro de um filtro e como os pacotes são avaliados em relação aos termos.
Quando um filtro de firewall consiste em um único termo, o filtro é avaliado da seguinte forma:
Se o pacote corresponde a todas as condições, a ação na
then
declaração será tomada.Se o pacote corresponde a todas as condições e nenhuma ação for especificada na
then
declaração, a ação accept padrão será tomada.Se o pacote não corresponder a todas as condições, o switch o descarta.
Quando um filtro de firewall consiste em mais de um termo, o filtro é avaliado sequencialmente:
O pacote é avaliado em relação às condições da
from
declaração no primeiro mandato.Se o pacote corresponde a todas as condições do termo, a ação na
then
declaração é tomada e a avaliação termina. Os termos subsequentes no filtro não são avaliados.Se o pacote não corresponder a todas as condições do termo, o pacote será avaliado em relação às condições da
from
declaração no segundo mandato.Esse processo continua até que o pacote corresponda a todas as condições da
from
declaração em um dos termos subsequentes ou não há mais termos no filtro.Se um pacote passar por todos os termos do filtro sem combinar, o switch o descarta.
A ordem das condições em uma from
declaração não é importante porque um pacote deve corresponder a todas as condições a serem consideradas compatíveis.
Figura 1 mostra como os switches avaliam os termos dentro de um filtro de firewall.

Se você não incluir uma from
declaração em um termo, todos os pacotes corresponderão ao termo e serão processados pela then
declaração. Se um termo não conter uma then
declaração ou se uma ação não tiver sido configurada na then
declaração, o termo aceita quaisquer pacotes correspondentes.
Cada filtro de firewall contém uma declaração implícita deny
no final do filtro, o que equivale ao seguinte termo de filtro explícito:
term implicit-rule { then discard; }
Consequentemente, um pacote que não corresponda a nenhum dos termos em um filtro de firewall é descartado. Se você configurar um filtro sem termos, todos os pacotes que passam pelo filtro serão descartados.
A filtragem de firewall é suportada em pacotes com pelo menos 64 bytes de comprimento.