Salvando iptables no CentOS e mesclando as regras anteriores com as recém-salvas?

1

Adicionei algumas novas regras usando o comando iptables e, em seguida, salvei-as usando /sbin/service iptables save , conforme descrito aqui:

Depois disso, no arquivo /etc/sysconfig/iptables , apresentarei apenas as novas regras. E todas as regras antigas estão no arquivo /etc/sysconfig/iptables.save agora.

Pelo que entendi, quando o sistema for reiniciado, as novas regras serão aplicadas, mas as regras antigas não serão aplicadas. Como posso aplicar os dois - regras novas e antigas?

    
por V. Artyukhov 30.08.2013 / 08:58

2 respostas

0

Acho que seu problema é que, quando você adicionou as novas regras, seu antigo conjunto de regras não foi carregado. Então, quando você salvou, apenas salvou as regras recém-adicionadas e substituiu todas as antigas.

Quando você começar a adicionar ou remover regras do seu conjunto de regras, primeiro carregue o antigo com service iptables start . Então você pode fazer suas edições e, em seguida, fazer service iptables save para salvar o conjunto de regras atual de volta em /etc/sysconfig/iptables . Dessa forma, você não precisa fazer nenhuma fusão.

Se você quiser mesclar esses dois arquivos agora, terá que fazer algumas edições manuais. Por exemplo, carregue uma delas, copie manualmente as regras que você deseja mesclar e insira-as com o comando iptables , depois faça o service iptables save novamente para salvar no arquivo de configuração.

Para garantir que, da próxima vez que você reinicializar, as regras do arquivo sejam carregadas automaticamente, faça chkconfig iptables on , isso adiciona o serviço iptables ao nível de execução padrão.

    
por 30.08.2013 / 15:19
0

Acho que sua única opção é mesclar manualmente os dois arquivos usando um editor de texto. As entradas nesses 2 arquivos são apenas texto simples, então você deve ser capaz de fazer isso com bastante facilidade.

Exemplo

Este é o meu arquivo, /etc/sysconfig/iptables :

$ sudo more /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 631 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 631 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 631 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

Ao mesclar entradas do outro arquivo, /etc/sysconfig/iptables.save , basta garantir que você mantenha o pedido um pouco intacto. Então, se você tiver -A INPUT ... linhas desse arquivo, eu as colocaria no final das que já estão lá.

Eu também manteria as regras uma ao lado da outra. Portanto, mantenha as entradas para a tabela INPUT juntas e as regras para a tabela FORWARD juntas.

Referências

por 30.08.2013 / 09:11