iptables regras não recarregando no CentOS 6.x

7

Eu tenho um único ipset adicionado ao meu iptables em uma caixa do CentOS 6.xe esta regra é perdida quando a máquina é reinicializada.

Encontrei esta resposta mostrando como fazer um sistema Ubuntu recarrega as regras iptables após uma reinicialização, mas este diretório não está presente no CentOS.

Como faço para que essa caixa do CentOS carregue as regras do firewall após uma reinicialização?

OBSERVAÇÃO: Sim, estou salvando as regras usando iptables save e o arquivo está sendo salvo.

Isto é o que está dentro de /etc/sysconfig/iptables :

# Generated by iptables-save v1.4.7 on Mon Apr  8 09:52:59 2013
*filter
:INPUT ACCEPT [2713:308071]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1649:1766437]
-A INPUT -p tcp -m multiport --dports 25,587,465,110,143,993,995 -m state --state INVALID,NEW,RELATED,ESTABLISHED -m set
 --match-set blocking src -j DROP 
COMMIT
# Completed on Mon Apr  8 09:52:59 2013

o comando mostra -A INPUT mas quando eu criei usei -I INPUT .

A regra usada para criar isso foi:

iptables -I INPUT -p tcp -m multiport --dports 25,587,465,110,143,993,995 -m state --state NEW,ESTABLISHED,RELATED,INVALID -m set --set blocking src -j DROP
    
por SpaceDog 08.04.2013 / 10:50

4 respostas

2

Você perdeu as regras porque:

After adding rules you have to do save before restart service or server. because when you add rule, they are in memory but after saving they will save in file and restore from that file at start-up.

Primeiro, você precisa salvar as regras adicionadas usando:

$ /etc/init.d/iptables save

Isso salvará todas as regras em /etc/sysconfig/iptables , depois ativará o serviço iptables na inicialização usando:

$ chkconfig --level 53 iptables on

Método 2

Para salvar regras:

$ /sbin/iptables-save  > /etc/iptables.rules

Para restaurar regras [Adicionar abaixo da entrada em /etc/rc.local ]:

$ /sbin/iptables-restore < /etc/iptables.rule
    
por 08.04.2013 / 10:52
2

Eu tive o mesmo problema.

Você criou um set com o ipset chamado "blocking", no entanto, não vejo onde esse set é salvo, então você teria que recriá-lo depois de reiniciar em um script, eu acho?

    
por 25.02.2014 / 21:42
1

Apenas notei o mesmo problema no Centos 6.4.

Acabei de colocar @reboot /etc/init.d/iptables restart no crontab e funciona.

    
por 30.11.2013 / 02:56
0

Enviei um e-mail para o Host Gator e finalmente recebi uma resposta de um administrador do Linux no Host Gator:

Hello there!

HostGator has built a custom firewall that's in place by default on all VPS and dedicated server plans.

Luckliy, there is a file in the firewall configuration that is meant to persist iptables configurations.

The file is this: /etc/firewall/INCLUDE

Just add your iptables lines to that file, and restart the firewall with service firewall restart. The iptables rules will persist.

Actually, I've gone ahead and added those lines to the file, so your iptables rules should load and persist now.

Please don't hesitate to follow up if you have any more questions or concerns

    
por 30.06.2014 / 19:10