CentOS7 firewalld sem zonas

7

Instalei o firewalld em uma nova instalação mínima do CentOS 7 em um VPS (estranhamente, pelo que eu tenho procurado, o firewalld já deveria estar instalado com o sistema).

Eu tentei abrir algumas portas, mas ao executar um comando como

firewall-cmd --zone=public --add-port=80/tcp --permanent

Recebo a seguinte mensagem de erro: Error: INVALID_ZONE: public .

Ao visualizar as zonas disponíveis com firewall-cmd --get-zones i não recebo nada.

Como deve ser configurado?

    
por Nicolas 24.04.2015 / 00:21

2 respostas

0

Isso soa como uma configuração e problema muito estranho do VPS, mas você pode criar suas próprias zonas com bastante facilidade se não se importar em escrever um pouco de XML.

Minha zona pública é:

<?xml version="1.0" encoding="utf-8"?>
<zone target="DROP">
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="ssh"/>
  <port protocol="tcp" port="443"/>

</zone>

É uma versão levemente modificada do public.xml padrão, que é descartado em vez de rejeitar pacotes e permite HTTPS e SSH.

Você colocaria isso em (eu acho) /etc/firewalld/zones/public.xml.

    
por 08.03.2017 / 19:52
0

VPSs fazem todo tipo de coisas idiotas. Alguns deles utilizam o SELinux no nível do kernel, de modo que você não pode nem mesmo ativá-lo. Primeiro de tudo, você quer verificar seu kernel com uname -r . Deve dizer el7 , por exemplo

3.10.0-693.2.2.el7.x86_64

Se é el7, você é bom. Se não, você precisa verificar com o seu VPS se você pode usar os kernels EL das ações, ou reinstalar a sua instância a partir do seu próprio CentOS ISO (foi o que fiz no Vultr). Talvez ainda seja possível consertar o firewalld com um kernel personalizado, mas é melhor ter os oficiais.

De qualquer forma, se firewalld é realmente funcional, apenas não tendo zonas, basta criar a zona e adicionar os serviços.

firewall-cmd --new-zone=public --permanent
firewall-cmd --reload
firewall-cmd --zone=public --add-service=ssh --permanent
firewall-cmd --reload

Observação: você deve fazer isso na mesma sessão, caso contrário, poderá ficar bloqueado do SSH e recorrer ao acesso ao console para corrigir o firewall.

    
por 28.12.2017 / 02:20