Em geral, você pode editar as regras do iptables ativas para IPv4 com um editor de texto usando o comando iptables-save
para gravar as regras em um arquivo e depois usar o comando iptables-restore
para recarregar as novas regras feito, por exemplo:
user@host:~$ iptables-save > rules.v4
user@host:~$ vim rules.v4
user@host:~$ iptables-restore rules.v4
Para o IPv6, você usaria os comandos análogos ip6tables-save
e ip6tables-restore
, ou seja:
user@host:~$ ip6tables-save > rules.v6
user@host:~$ vim rules.v6
user@host:~$ ip6tables-restore rules.v6
O serviço iptables-persistent
verifica nos seguintes locais:
/etc/iptables/rules.v4
/etc/iptables/rules.v6
Portanto, para aplicar suas regras e mantê-las persistentes, siga as mesmas etapas acima, mas edite os arquivos iptables-persistent
, por exemplo:
user@host:~$ iptables-save > /etc/iptables/rules.v4
user@host:~$ vim /etc/iptables/rules.v4
user@host:~$ iptables-restore /etc/iptables/rules.v4
Eu não sei de um comando interativo para editar as regras do iptables como o que você está descrevendo, mas deve ser muito fácil criar as suas próprias regras. Aqui está um exemplo simples:
#!/usr/bin/env bash
# iptables-e.sh
# Create a temporary file to store the new rules
TEMPFILE=$(mktemp)
# Save the current rules to a file
iptables-save > "${TEMPFILE}"
# Edit the rules interactively with a text editor
"${EDITOR}" "${TEMPFILE}"
# Try to load the rules and update the persistent rules if no errors occur
iptables-restore "${TEMPFILE}" && cat "${TEMPFILE}" > /etc/iptables/rules.v4
Isso realmente não é muito diferente de como crontab -e
funciona, que salva automaticamente o crontab ativo em um arquivo no diretório /var/spool/cron/crontabs
, que é o que faz com que o crontab seja persistente. Veja o seguinte post para mais discussões sobre este assunto:
Você também pode estar interessado no seguinte script:
Eu não posso garantir isso. Eu nunca usei isso. É a única coisa que encontrei procurando por edição interativa de iptables.