Informática Numaboa - Linux
Filtragem de pacotes no Linux 2.4
Qui 26 Abr 2007 17:47 |
- Detalhes
- Categoria: Como fazer configurações
- Atualização: Quinta, 01 Janeiro 2009 03:06
- Autor: vovó Vicki
- Acessos: 10244
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.
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 #