firewalld vs iptables - quando usar quais [fechado]

29

TL; DR Nas novas instalações do servidor CentOS, devo usar o firewalld ou simplesmente desativá-lo e voltar a usá-lo /etc/sysconfig/iptables?


firewalld e iptables servem a propósitos semelhantes. Ambos fazem a filtragem de pacotes - mas, se entendi corretamente, o firewalld não libera todo o conjunto de regras toda vez que uma alteração é feita.

Eu sei muito sobre o iptables, mas muito pouco sobre o firewalld.

No Fedora e RHEL / CentOS - a configuração tradicional do iptables foi feita no /etc/sysconfig/iptables. Com o firewalld, sua configuração reside /etc/firewalld/e é um conjunto de arquivos XML. O Fedora parece estar se movendo em direção ao firewalld como um substituto para essa configuração herdada. Eu entendo que o firewalld usa iptables sob o capô, mas também possui sua própria interface de linha de comando e formato de arquivo de configuração, como acima - que é o que estou me referindo em termos de uso de um contra o outro.

Existe uma configuração / cenário específico para o qual cada um deles é mais adequado? No caso do NetworkMangaer x rede, parece que, embora o NetworkManager possa ter sido um substituto para os scripts de rede, devido à falta de suporte à ponte de rede e algumas outras coisas, muitas pessoas simplesmente não o estão usando nas configurações do servidor em todos. Portanto, parece haver um conceito geral de "use o NetworkManager se você estiver em um Linux desktop/guie a rede se estiver executando um servidor". É exatamente o que entendo ao ler várias postagens - mas pelo menos fornece um guia sobre o que é um uso viável para essas coisas - pelo menos como elas permanecem no estado atual.

Mas eu tenho feito a mesma coisa com o firewalld e apenas desligado e usando o iptables. (Quase sempre estou instalando o linux em um servidor, não para uso na área de trabalho). O firewalld é um substituto eficaz para o iptables e devo apenas usá-lo em todos os novos sistemas?

bgp
fonte
10
O Firewalld usa iptables por baixo.
user9517 suporta GoFundMonica
Claro, e isso faz sentido. Mas, obviamente, há uma grande diferença entre como você armazena sua configuração e qual ferramenta você usa - iptables vs firewall-cmd, / etc / sysconfig / iptables vs /etc/firewalld/.../*.xml. Revisarei a questão um pouco para deixar isso mais claro.
bgp 27/02
Não é necessário "liberar todo o conjunto de regras toda vez que houver uma chance" iptables. É apenas uma ferramenta de front-end, se estiver lavando as tabelas, é porque você pediu.
gparent 27/02
Para esclarecer, estou me referindo a "service iptables restart" fazendo com que as regras sejam removidas e adicionadas novamente. (Embora isso ainda não afete o estado da conexão, o que é bom.) É claro que você pode simplesmente executar o comando iptables na linha de comando para modificar regras individuais - mas geralmente tento manter tudo em / etc / sysconfig / iptables e use o comando "service" para manter a convenção sugerida pelas ferramentas fornecidas pela distribuição.
BGP

Respostas:

12

Como firewalldé baseado na configuração XML, alguns podem pensar que é mais fácil configurar o firewall de maneira programática. Isso também pode ser alcançado iptables, mas de uma maneira diferente, que não é XML. Se você já está familiarizado com o iptablesfuncionamento, por que migraria toda a sua configuração firewalld?

Se você considerar o seu maior iptablesconjunto de regras de firewall, com que frequência você se beneficiaria com o aspecto dinâmico firewalld? Na maioria dos casos, o desempenho de iptablesnunca é o problema. Na maioria dos casos em que o desempenho de iptablesum problema pode ser corrigido usando ipsetconjuntos de IP de origem / destino com base.

É um debate diferente se você deve ou não usar o NetworkManager.

vtorhonen
fonte
3
O desempenho de iptablesé irrelevante nesse caso, porque a lentidão ocorrerá independentemente de as regras serem inseridas via firewalldou diretamente com a iptablesferramenta.
gparent 27/02