Como PREPENSAR as regras em vez de APPEND usando iptables?

61

Pergunta básica: como PREPARAR as regras sobre IPTABLES em vez de APENDAR?

Eu tenho DROP declarações no final das minhas regras. Eu tenho um software para adicionar novas regras, mas adicionar regras depois de DROP declarações não é bom. Toda vez que eu quero adicionar uma nova regra, eu tenho que liberar a tabela (que é ineficiente).

Existe uma maneira de prefixar uma regra, ou seja, adicionar uma regra ao topo da tabela em vez de à parte inferior?

Muito obrigado.

    
por ale 29.03.2012 / 21:23

4 respostas

79

Use a opção -I :

sudo iptables -I INPUT 1 -i lo -j ACCEPT

Isto iria inserir uma regra na posição # 1 na cadeia INPUT.

    
por 29.03.2012 / 21:27
17

-I será inserido. Você provavelmente está usando -A para anexar.

Você também pode fazer iptables -I chain rulenum para inserir uma regra como o número "rulenum" na cadeia "chain". -R chain rulenum pode ser usado para substituir uma regra específica no número "rulenum" na cadeia "chain". iptables -L -n --line-numbers mostrará os números das regras na coluna mais à esquerda.

    
por 29.03.2012 / 21:26
1

Para ajudar a determinar qual número de linha para adicionar a nova regra, eu uso iptables-save para gerar as regras existentes para o console.

Para iniciantes, também posso sugerir um cartão de trapaça usando o webmin para administrar suas regras. É muito amigável e você pode facilmente reordenar regras manualmente na lista. Ele também irá lidar com as variações 'leves' em implementações baseadas em redhat vs debian do iptables.

    
por 14.08.2013 / 03:23
1

Existe um programa chamado iptables-persistent que torna as regras do iptable persistentes como um serviço do SO. este serviço inclui um arquivo de configuração como iptables-save export.

Assim, você pode reordenar as linhas no arquivo de configuração e reiniciar o serviço.

sudo service iptables-persistent restart

Tão fácil !!!!!

    
por 22.08.2015 / 06:24