É suficiente adicionar regras do iptables sem reiniciar?

24

(Servidor Ubuntu) Estou executando

sudo iptables -A INPUT -s 127.0.0.1 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 4/sec -j ACCEPT

e depois

sudo iptables-save

Para obter a função das regras do iptables, basta executar apenas o comando acima (sem reiniciar o iptables)?

cewebugil
fonte

Respostas:

15

Para maior clareza, a iptables-savefunção do comando não é ativar regras, seu objetivo é salvar as regras para uso posterior. Os usos comuns são:

iptables-save > iptables.dat

Isso salva as regras atuais para iptables.dat. Você pode restaurar este conjunto de regras com o comando:

iptables-restore < iptables.dat

Você pode inserir esta linha rc.localpara restaurar as regras após a reinicialização, porque uma reinicialização limpa todas as regras por padrão.

Jonnyuser
fonte
7
E não se esqueça iptables-applyse você quiser ficar calmo. (Padrão de 10 segundos)
gertas
13

@cewebugil Quanto à sua pergunta original, é suficiente aplicar as regras IPTABLE. No momento em que você aplica a regra IPTABLE, ela se torna imediatamente ativa. Mas não sobreviverá a uma reinicialização.

Para poder sobreviver à reinicialização do IPTABLES no arquivo de configuração de rede / etc / network / interfaces (estou me referindo a um sistema Debian / Ubuntu), você precisa adicionar alguns
pre-up iptables-restore < firewall.txt

Verifique esta confusão de threads ao configurar um firewall no bridge e neste link http://www.debian-administration.org/articles/445

Duas boas práticas para se salvar de um bloqueio

1) É sempre uma boa idéia ao testar IPTABLES ter uma entrada de tarefa cron que libere suas regras a cada 15 minutos ou mais. Assim, se você por acaso aplicar uma regra errada após 15 minutos, essa regra será excluída e você poderá efetuar login novamente. salvará você de um possível bloqueio, se alguma regra IPTABLE estiver errada.

2) Isso também pode ser feito por

 iptables-restore < iptables_rules; sleep 30; iptables-restore < clean_rules

A idéia é aplicar as regras, aguarde 30 segundos e aplique um conjunto de regras para permitir todo o acesso. Ao executar esta linha, pressione enter algumas vezes e duas coisas podem acontecer:

Suas regras bloquearam você (pressionando enter não aparece na tela, aguarde o tempo acabar e elas serão limpas; se suas regras funcionarem e você puder ver as novas linhas na tela, CTRL + C antes que o sono termine e você é bom.

Usuário Registrado
fonte
15
Como alternativa, você pode usar iptables-apply -t 30 iptables_rules. iptables-applyesperará que você confirme positivamente as regras aplicadas e, se após 30 segundos você não responder, ela voltará às regras anteriores.
pepoluan
@pepoluan obrigado por esta informação, eu não sabia disso.
Usuário registrado
Sim, acabei de descobrir sobre isso na semana passada. agora eu não posso viver sem ele :-)
pepoluan
12

Sim, depois de adicionar uma regra ao iptables, ela se torna ativa imediatamente - é por isso que você deve ter cuidado com as regras, pois é possível bloquear-se.

user9517 suporta GoFundMonica
fonte