Estou usando o CentOS 7 e tenho que garantir que as portas 2888 e 3888 estejam abertas.
Eu li este artigo, mas isso não funcionou porque no CentOS 7 OS não há iptables save
comando.
Alguém me disse que o URL acima não é válido para o CentOS 7. e devo seguir isso . Mas este artigo não está claro para mim sobre exatamente qual comando eu preciso executar.
Eu também encontrei
firewall-cmd --zone=public --add-port=2888/tcp
mas isso não sobrevive às reinicializações.
Então, como posso abrir as portas e fazê-lo sobreviver a reinicializações?
Respostas:
Use este comando para encontrar suas zonas ativas:
Dirá public, dmz ou outra coisa. Você deve se inscrever apenas nas zonas necessárias.
No caso de tentativa pública:
Lembre-se de recarregar o firewall para que as alterações entrem em vigor.
Caso contrário, substitua public por sua zona, por exemplo, se sua zona for dmz:
fonte
--zone=dmz
para #--zone=public
--permanent
faz, elas apenas dizem para fazê-lo. Ambas seriam respostas mais completas e úteis se fosse explicado como a resposta funciona. De um dos recursos do OP: "As regras podem ser tornadas permanentes adicionando a opção --permanent [...]. Se as regras não forem permanentes, elas precisam ser aplicadas sempre que após o recebimento do início, reinicie ou recarregue a mensagem do firewalld usando o D-BUS ".firewall-cmd --get-active-zones
para descobrir qual zona é usada no seu sistema. Além disso, man firewall-cmd.The --permanent option needs to be the first option for all permanent calls
. Não recebi nenhum erro ao usar o descrito acima, mas não tenho certeza se isso pode causar problemas a outra pessoa.A resposta de ganeshragav está correta, mas também é útil saber que você pode usar:
mas se for um serviço conhecido, você pode usar:
e recarregue o firewall
[Resposta modificada para refletir o comentário de Martin Peter, a resposta original tinha
--permanent
no final da linha de comando]fonte
--permanent
opção no final da declaração. A documentação indica explicitamente que essa deve ser a primeira opção.man firewall-cmd
não fornece essa indicação na minha máquina (Fedora 21).The --permanent option needs to be the first option for all permanent calls.
O CentOS (RHEL) 7 mudou o firewall para usar
firewall-cmd
uma noção de zonas que é como uma versão do Windows de redes pública, doméstica e privada. Você deve procurar aqui para descobrir qual você acha que deve usar. O EL7 usapublic
por padrão, e é isso que meus exemplos abaixo usam.Você pode verificar com qual zona está usando
firewall-cmd --list-all
e alterá-lafirewall-cmd --set-default-zone=<zone>
.Você saberá em que zona permitir um serviço (ou porta) em:
firewall-cmd --permanent --zone=<zone> --add-service=http
firewall-cmd --permanent --zone=<zone> --add-port=80/tcp
Você pode verificar se a porta foi realmente aberta executando:
firewall-cmd --zone=<zone> --query-port=80/tcp
firewall-cmd --zone=<zone> --query-service=http
De acordo com a documentação ,
Você pode recarregar as configurações de firewall com:
firewall-cmd --reload
.fonte
Fedora, fez isso via
iptables
Parece funcionar
fonte
Para visualizar portas abertas, use o seguinte comando.
Usamos o seguinte para ver serviços cujas portas estão abertas.
Usamos o seguinte para ver serviços cujas portas estão abertas e ver portas abertas
Para adicionar um serviço ao firewall, usamos o comando a seguir; nesse caso, o serviço usará qualquer porta para abrir no firewall.
Para que este serviço seja permanentemente aberto, usamos o seguinte comando.
Para adicionar uma porta, use o seguinte comando
Para executar o firewall deve ser recarregado usando o seguinte comando.
Ya Ali
fonte
Embora ganeshragav e Sotsir forneçam abordagens corretas e diretamente aplicáveis, é útil observar que você pode adicionar seus próprios serviços
/etc/firewalld/services
. Para inspiração, veja/usr/lib/firewalld/services/
onde estão localizados os serviços predefinidos do firewalld.A vantagem dessa abordagem é que, mais tarde, você saberá por que essas portas estão abertas, conforme descrito no arquivo de serviço. Além disso, agora você pode aplicá-lo a qualquer zona sem o risco de erros de digitação. Além disso, as alterações no serviço não precisarão ser aplicadas a todas as zonas separadamente, mas apenas ao arquivo de serviço.
Por exemplo, você pode criar
/etc/firewalld/services/foobar.xml
:(Para obter informações sobre a sintaxe, faça
man firewalld.service
.)Depois que esse arquivo é criado, você pode
firewall-cmd --reload
disponibilizá-lo e adicioná-lo permanentemente a alguma zona comseguido de
firewall-cmd --reload
para ativá-lo imediatamente.fonte
Para visualizar portas abertas, use o seguinte comando:
Usamos o seguinte para ver serviços cujas portas estão abertas:
Usamos o seguinte para ver serviços cujas portas estão abertas e ver portas abertas:
Para adicionar um serviço ao firewall, usamos o seguinte comando; nesse caso, o serviço usará qualquer porta para abrir no firewall:
Para que este serviço seja permanentemente aberto, usamos o seguinte comando:
Para adicionar uma porta, use o seguinte comando:
fonte
As principais respostas aqui funcionam, mas achei algo mais elegante na resposta de Michael Hampton a uma pergunta relacionada. O "novo" (firewalld-0.3.9-11 +)
--runtime-to-permanent
opção parafirewall-cmd
permite criar regras de tempo de execução e testá-los antes de fazer-los permanentes:Ou para reverter as alterações somente de tempo de execução:
Veja também o comentário de Antony Nguyen . Aparentemente, o firewall-cmd --reload pode não funcionar corretamente em alguns casos em que as regras foram removidas. Nesse caso, ele sugere reiniciar o serviço firewalld:
fonte
Se você possui várias portas para permitir no Centos 7 FIrewalld, podemos usar o seguinte comando.
fonte
Se você estiver familiarizado com o serviço iptables, como no centos 6 ou anterior, ainda poderá usar o serviço iptables pela instalação manual:
passo 1 => instalar o epel repo
passo 2 => instalar o serviço iptables
passo 3 => parar o serviço firewalld
etapa 4 => desativar o serviço firewalld na inicialização
passo 5 => inicie o serviço iptables
etapa 6 => ativar o iptables na inicialização
finalmente, agora você pode editar sua configuração do iptables em / etc / sysconfig / iptables.
Então -> editar regra -> recarregar / reiniciar.
gosta de centos mais antigos com a mesma função que o firewalld.
fonte
O Firewalld é um pouco não intuitivo para o veterano do iptables. Para aqueles que preferem um firewall acionado por iptables com sintaxe semelhante a iptables em uma árvore facilmente configurável, tente substituir o firewalld pelo fwtree: https://www.linuxglobal.com/fwtree-flexible-linux-tree-based-firewall/ e, em seguida, faça o seguinte:
fonte
Olá no Centos 7 firewall-cmd. Sim, corrija se você usar o firewall-cmd --zone = public --add-port = 2888 / tcp, mas se você recarregar a firewall-cmd --reload
sua configuração não será salva
você precisa adicionar chave
firewall-cmd --permanent --zone = public --add-port = 2888 / tcp
fonte