A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa - Linux

Filtragem de pacotes no Linux 2.4

Qui

26

Abr

2007


17:47

(3 votos, média 3.67 de 5) 


Operações em Toda uma Cadeia

Uma característica muito útil do iptables é permitir o agrupamento de regras relacionadas em cadeias. As cadeias podem receber um nome qualquer, mas é aconselhável usar letras minúsculas para evitar confusões com as cadeias internas e alvos. Nomes de cadeias podem ter até 31 caracteres.

Criando uma nova cadeia

Para criar uma nova cadeia existem as opções '-N' ou '--new-chain'. Para criar a cadeia 'teste' basta:

    # iptables -N teste
    #

Isto é tudo. A cadeia teste está pronta para receber regras.

Eliminando uma cadeia

Eliminar uma cadeia também é muito simples. Basta usar as opções '-X' ou '--delete-chain':

    # iptables -X test
    #

Existe algumas restrições para deletar cadeias: elas precisam estar vazias (veja Limpando uma cadeia logo a seguir) e não podem ser o alvo de qualquer regra. Também não é possível eliminar as cadeias internas.

Se nenhuma cadeia for especificada, então todas as cadeias definidas pelo usuário, possíveis de serem eliminadas, serão eliminadas.

Limpando uma cadeia

Os comandos '-F' ou '--flush' esvaziam uma cadeia eliminando todas as suas regras:

    # iptables -F FORWARD
    #

Se nenhuma cadeia for especificada, então todas as cadeias serão esvaziadas.

Listando uma cadeia

Os comandos '-L' ou '--list' servem para listar todas as regras de uma cadeia.

O 'refcnt' mostrado para cada cadeia definida pelo usuário é o número de regras que possuem uma cadeia como alvo. Este número precisa ser zero (e a cadeia precisa estar vazia) antes que esta cadeia possa ser eliminada.

Se o nome da cadeia for omitido, todas as cadeias serão listadas, inclusive as vazias.

Existem três opções que podem acompanhar '-L'. A opção '-n' (numérica) é muito útil para evitar que o iptables tente verificar os endereços IP, o que causa grandes retardos se o seu DNS não estiver adequadamente configurado ou você tenha bloqueado solicitações de DNS. Esta opção também faz com que as portas TCP e UDP sejam mostradas por seus números e não pelos seus nomes.

A opção '-v' mostra todos os detalhes das regras, como os contadores de pacotes e de bytes, comparações TOS e as interfaces. Se não for usada, estes valores são omitidos.

atencao Os contadores de pacotes e de bytes possuem os sufixos 'K', 'M' ou 'G' para indicar 1.000, 1.000.000 e 1.000.000.000. Usando a flag '-x' (eXpandir números) faz com que os valores sejam mostrados completos, não importando o tamanho dos mesmos.

Zerando os contadores

É muito útil poder zerar os contadores. Isto pode ser feito com as opções '-z' ou '--zero'.

    # iptables -L FORWARD
    # iptables -Z FORWARD
    # 

No exemplo acima, alguns pacotes ter passado no intervalo de tempo decorrido entre os comandos '-L' e '-Z'. Por este motivo é permitido usar '-L' e '-Z' junto para zerar os contadores enquanto são lidos.

Estabelecendo a política

Já demos uma olhada no que acontece quando um pacote chega no fim de uma cadeia interna quando foi discutido como os pacotes atravessam as cadeias. Neste caso, a política da cadeia determina a sentença do pacote. Apenas as cadeias internas (INPUT, OUTPUT e FORWARD) possuem políticas porque, se um pacote chegar no fim de uma cadeia definida pelo usuário, a travessia continua na cadeia anterior.

A política pode ser ACCEPT ou DROP. Por exemplo:

    # iptables -P FORWARD DROP
    #

Informações adicionais