O CentOS 7 está usando o FirewallD agora!
Exemplo:
firewall-cmd --zone=public --add-port=3000/tcp --permanent
recarregar regras:
firewall-cmd --reload
Problema: o iptables retorna às configurações padrão após a reinicialização do servidor.
Estou tentando definir regras assim:
iptables -I INPUT -p tcp --dport 3000 -j ACCEPT
depois disso eu faço:
service iptables save
e escreve de volta algo como isto
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
e depois disso eu apenas corri (isso foi feito uma vez):
chkconfig iptables on (eu li que isso tem que ser feito para restaurar as configurações após a reinicialização)
Depois disso, reinicio e executo este comando:
systemctl list-unit-files | grep iptables
e vejo que o iptables.service está habilitado, no entanto, a regra (para abrir a porta 3000) não funciona mais.
Como faço para manter essas configurações?
O CentOS 7 está usando o FirewallD agora!
Exemplo:
firewall-cmd --zone=public --add-port=3000/tcp --permanent
recarregar regras:
firewall-cmd --reload
Desativar firewalld pelo seguinte comando:
systemctl disable firewalld
Em seguida, instale o iptables-service seguindo o comando:
yum install iptables-services
Em seguida, ative o iptables como serviços:
systemctl enable iptables
Agora você pode salvar suas regras de iptable seguindo o comando:
service iptables save
No CentOS 7 Minimal você pode precisar instalar o pacote iptables-services (graças a @RichieACC para o sugestão ):
sudo yum install -y iptables-services
E, em seguida, ative o serviço usando systemd :
sudo systemctl enable iptables.service
E execute o initscript para salvar suas regras de firewall:
sudo /usr/libexec/iptables/iptables.init save
Você pode modificar diretamente o arquivo / etc / sysconfig / iptables. Recarregue o serviço iptables para recarregar as regras desse arquivo. No entanto, como já foi dito, o firewalld é o novo sistema de firewall padrão do Centos, e essa é uma boa chance de aprender a usá-lo, você não acha?