Você pode simplesmente descarregar iptables
'módulos do kernel:
modprobe -r iptable_raw iptable_mangle iptable_security iptable_nat iptable_filter
UPD Infelizmente, bom demais para ser verdade. Enquanto houver uma regra ou uma cadeia definida pelo usuário em uma tabela, a contagem de referência do módulo correspondente será 1 e modprobe -r
falhará. Você pode excluir regras e cadeias definidas pelo usuário da seguinte forma:
echo $'*raw\nCOMMIT\n*mangle\nCOMMIT\n*security\nCOMMIT\n*nat\nCOMMIT\n*filter\nCOMMIT' | iptables-restore
ou:
iptables-save | awk '/^[*]/ { print $1 "\nCOMMIT" }' | iptables-restore
Além disso, você pode querer descarregar os módulos desta maneira (sem nomes de módulos codificados):
lsmod | egrep ^iptable_ | awk '{print $1}' | xargs -rd\\n modprobe -r
Pelo lado positivo, depois disso iptables-save
produz uma boa saída vazia :)