Eu percebi assim que perguntei isso que existem iptables-save
e iptables-restore
. No entanto, não tenho certeza de como isso funcionaria. Vou postar como uma resposta, mas acho que a solução real será um pouco mais complicada.
Pode-se usar iptables-save
, que imprime as cadeias atualmente carregadas na stdout. Você também pode usar a opção -t
para especificar cadeias definidas pelo usuário . Assim, você poderia produzir cada cadeia em um arquivo, um por um, e controlá-los. No entanto, não consigo ver uma maneira fácil de recarregar as cadeias uma a uma, pois o equivalente iptables-restore
não tem a opção equivalente ( -t
significa teste).
A outra limitação deste método que notei foi que não há como salvar as cadeias embutidas individualmente (ou seja, INPUT, OUTPUT e FORWARD). A única maneira de obtê-los é não usar a opção -t
e descartar tudo.
Seria necessário algum script para transformar tudo isso em algo que alguém pudesse salvar e recarregar facilmente.