Iptables recarrega / reinicia no Ubuntu 18.04

15

Eu tenho um problema com o iptables no Ubuntu 18.04 antes que eu costumava usar com Centos 7 e Red Hat e posso simplesmente reiniciar com

systemctl restart iptables

mas no Ubuntu não funciona. Não encontrei iptable sob init.dnenhum dos dois.

Alguém pode me ajudar, como posso reiniciar ou recarregar no Ubuntu 18.04?

CsharpJoe
fonte
Então o ubuntu 1804 exclui o iptables-save da instalação padrão? Eu costumava passar dias servais para estudar como usar o iptables-save, depois ele desaparece da instalação padrão, WTF? Então, qual syscall do kernel do linux devo usar para obter o mesmo efeito que o iptables-save, caso o ubuntu 2004 exclua o ufw da instalação padrão?
bronze man

Respostas:

29

Se você deseja que o firewall do Ubuntu funcione de maneira semelhante ao RedHat / Fedora, no Ubuntu 18.04, você provavelmente deseja:

sudo apt install iptables-persistent netfilter-persistent

Em seguida, edite as regras em /etc/iptables/rules.v[46]

Outros comandos que podem ser úteis:

netfilter-persistent save
netfilter-persistent start

iptables-save  > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6

iptables-restore  < /etc/iptables/rules.v4
ip6tables-restore < /etc/iptables/rules.v6

systemctl stop    netfilter-persistent
systemctl start   netfilter-persistent
systemctl restart netfilter-persistent

Os dois pacotes são semelhantes, mas oferecem funcionalidades ligeiramente diferentes. Se você instalar apenas iptables-persistent, não obterá o arquivo de definição de serviço para o manuseio correto no systemd, por exemplo,/lib/systemd/system/netfilter-persistent.service

Se você instalar apenas netfilter-persistent, verá que as regras não são aplicadas corretamente na inicialização, conforme o README

netfilter-persistent and its plugins
------------------------------------

netfilter-persistent does no work on its own. You need the accompanying
plugins (for example, iptables-persistent) to load and save filter rules.

However, commands are run from netfilter-persistent. For example, to save
all filter rules:

   netfilter-persistent save

or to load them:

   netfilter-persistent start

For more details, see `man netfilter-persistent`.

The system service will try to load rules at startup if enabled, but by
default it will not flush rules at shutdown. This behaviour can be changed
by editing /etc/default/netfilter-persistent.
ThankYee
fonte
afaict, netfilter-persistent savetambém será atualizado /etc/iptables/rules.v4/6, o que, se correto, acho iptables-save > /etc/iptables/rules.v4/6desnecessário notar .
gilad Mayani
Isso é verdade, mas os comandos adicionais foram incluídos para garantir a integridade. Pessoalmente, nunca uso o netfilter-persistent savecomando porque ele inclui comentários e não zera os contadores.
ThankYee
2

Nas distribuições mais recentes, você normalmente tem um front-end para configurar e gerenciar o firewall. Os mais populares hoje em dia são ufwe firewallde talvez shorewall. Esses frontends também se preocupam em adicionar as regras iptablese o iptablesscript pode ser ignorado ou, melhor dizendo, deve ser ignorado, pois os frontends não captam suas alterações que você fez iptablesdiretamente com o comando.

Para o Ubuntu 18.04, parece que firewalldse tornou o padrão onde ufwestá instalado, mas inativo.

root@localhost:~# firewall-cmd --state 
running
root@localhost:~# ufw status
Status: inactive

Portanto, em vez de criar iptablesregras de conformidade próprias , você deve usar essas interfaces para criar sua configuração de firewall.

Não estou familiarizado, ufwmas com certeza você encontrará informações aqui com o askubuntu ou em algum outro lugar na internet.
firewalldvem com uma GUI ( firewall-config) e uma ferramenta de linha de comando firewall-cmd.
Com firewalldvocê, você pode adicionar regras sem aplicá-las agora ( permanente ) e aplicá-las somente após a recarga do firewall. Ou você pode adicioná-los à sua configuração de tempo de execução , testá-lo e adicioná-lo à sua configuração permanente.
Para recarregar, por exemplo, uma configuração permanente recém-adicionada às suas regras de execução , você deverá inserir o comando da seguinte maneira ou fazer os cliques correspondentes na GUI.

firewall-cmd --reload

Pode parecer um pouco mais complicado à primeira vista, já que firewalldsegue o conceito de zonas e cadeias . Mas ele se integra perfeitamente ao NetworkManager , envia uma GUI ...
Um bom ponto de partida para se familiarizar com ela é aqui .

Thomas
fonte
2
Isso não responde a pergunta
Panther
Isso pode funcionar, mas não é possível automatizar o uso de aplicativos front-end para DevOps.
Lance Tipo
1

Você pode verificar o conteúdo do pacote com:

dpkg -L iptables-persistent

E então você verá que o seguinte comando está correto:

/etc/init.d/netfilter-persistent restart
bluszcz
fonte
0

No Ubuntu 1804 para obter persistência, use o comando: iptables-save> /etc/iptables/rules.v4

ou simplesmente adicione a linha iptables manualmente ao arquivo: /etc/iptables/rules.v4

Yasir Elsharif
fonte