O UFW limpará qualquer regra adicionada manualmente na /etc/ufw/user.rules
qual NÃO seja precedido por um comentário:
### tuple ### allow tcp 80 0.0.0.0/0 any 0.0.0.0/0 out
-A ufw-user-output -p tcp --dport 80 -j ACCEPT
Quando a sanidade da UFW verifica as regras na inicialização, espera um comentário em anexo. Se NÃO estiver presente, mesmo que a sintaxe da regra esteja correta, o UFW ainda a limpará.
E não use apenas comentários arbitrários: DEVE ser o comentário que a UFW inseriria ao criar uma regra de usuário via CLI, ou seja:
sudo ufw allow http/tcp
Portanto, se você deseja pré-propagar uma série de regras em um conjunto de regras em um arquivo simples, ainda precisará criar as regras através da interface CLI da UFW para aprender a sintaxe dos comentários que espera que a regra passe na validação e persista .
Experimente o exposto acima e SEM o comentário e recarregue a regra HTTP de amostra acima; você observará apenas com o comentário que a regra adicionada manualmente sobrevive a uma reinicialização ( ufw enable ) do UFW.
Este é realmente um comportamento contra-intuitivo e não está documentado.